合集-Java

摘要:Java中的泛型:从入门到精通 泛型是Java中的核心概念之一,无论是在集合框架、工具类还是业务代码中都随处可见。最常见的就是List<T>、Map<K,V>等集合类的泛型应用。今天我们将深入探讨Java泛型,帮助你真正理解并灵活运用这一特性。 一、为什么需要泛型? 泛型的引入主要是为了增强类型安全 阅读全文
posted @ 2025-11-23 13:55 java贼溜 阅读(27) 评论(0) 推荐(0)
摘要:步骤1:导包——Scanner这个类在哪 import java.util.Scanner(System.in); 导包的动作必须出现在类定义上边 步骤2:创建对象 :表示要开始使用Scanner这个类了 Scanner sc = new Scanner(System.in); 上面这个格式里面,只 阅读全文
posted @ 2023-04-23 20:52 java贼溜 阅读(72) 评论(0) 推荐(0)
摘要:JAVA运算字符详解 赋值运算符 符号作用说明 = 赋值 int a = 10; 将10赋值给变量a += 加后赋值 a += b; 将a+b的值给a - = 减后赋值 a -= b; 将a-b的值给a *= 乘后赋值 a *= b; 将a*b的值给a /= 除后赋值 a / =b ; 将a/b的值 阅读全文
posted @ 2023-04-24 22:49 java贼溜 阅读(99) 评论(0) 推荐(0)
摘要:一 if(关系表达式){ 语句体; } 流程: 首先计算关系表达式的值 如果关系表达式的值为true就执行语句体 如果关系表达式的值为false则执行 继续执行后面其他语句 二 if(关系表达式){ 语句体1; }else { 语句体2; } 流程: 计算关系式的值 如果关系式的值为true执行语句 阅读全文
posted @ 2023-04-25 22:54 java贼溜 阅读(99) 评论(0) 推荐(0)
摘要:switch(表达式){ case值 1: 语句体1; break; case值 2; 语句体1; break; ....... default: 语句体n+1; break; } 说明: 表达式:(将要匹配的值)取值为byte.short.int.char。JDK5以后可以是枚举,JDK7以后可以 阅读全文
posted @ 2023-04-26 17:32 java贼溜 阅读(200) 评论(0) 推荐(0)
摘要:for循环 格式 fou(初始化;条件判断语句;条件控制语句){ 循环体语句: } 执行流程: 执行初始化语句 执行条件判断语句,结果是false的话循环结束,结果是true执行循环语句 执行条件控制语句 while循环 格式: while(条件判断语句){ 循环体语句; 条件控制语句; } for 阅读全文
posted @ 2023-04-28 20:29 java贼溜 阅读(173) 评论(0) 推荐(0)
摘要:导包——Random这个类在哪 import java.util.Random; 导包的动作必须出现在类定义的上面 创建对象——表示我要开始用Random这个类了 Random r = new Random(); 上面这个格式中只有r是变量名 可以变,其他都不能变 生成随机数——真正开始干活 int 阅读全文
posted @ 2023-04-29 14:49 java贼溜 阅读(84) 评论(0) 推荐(0)
摘要:JAVA中的内存分配 栈:方法运行时使用的内存,比如main方法的运行,进入方法栈中执行 堆:存储对象或数组,new来创建的,都存储在堆内存中 方法区:存储可以运行的class文件 本地方法栈:JVM在使用操作系统功能的时候使用,和我们开发无关 寄存器:给CPU使用 总结: 只要是new出来的一定在 阅读全文
posted @ 2023-05-02 18:16 java贼溜 阅读(64) 评论(0) 推荐(0)
摘要:JAVA方法详解 方法是程序中的最小执行单元 形参:形式参数,是指方法定义中的参数 实参:实际参数:方法调用中的参数 有返回值的定义格式: public static 返回值类型 方法名 (参数){ 方法体; return 返回值; } 调用格式: 直接调用 赋值调用 输出调用 方法的注意事项 方法 阅读全文
posted @ 2023-05-03 12:59 java贼溜 阅读(56) 评论(0) 推荐(0)
摘要:JAVA中的数组 二维数组的静态初始化 格式:数据类型 [] [] 数组名 = new 数据类型 [] [] {{},{},{}}; 简化:数据类型 [] [] 数组名 = {{元素1,元素2},{元素1,元素2},{元素1,元素2}}; int [] [] arr = {{11,22},{11,2 阅读全文
posted @ 2023-05-03 17:12 java贼溜 阅读(61) 评论(0) 推荐(0)
摘要:JAVA中字符串的常用方法 字符串不能改变,创建后就无法更改了 创建字符串的两种方式 直接赋值 new的方式获取一个字符串对象 构造方法 构造方法说明 public String() 创建空白字符串,不包含任何内容 public String(String Original) 根据传入的字符串,创建 阅读全文
posted @ 2023-05-04 18:48 java贼溜 阅读(181) 评论(0) 推荐(0)
摘要:JAVA中的两个容器StringBuilder和StringJoiner概述 StringBuilder可以看成一个容器,创建之后里面的内容是可以修改的 方法名说明 public StringBuilder append(任意类型) 添加数据,并返回对象本身 public StringBuilder 阅读全文
posted @ 2023-05-05 22:23 java贼溜 阅读(69) 评论(0) 推荐(0)
摘要:JAVA中ArrayList集合详解 创建集合的对象: ArrayList < String > list = new ArrayList <> (); <>中的是泛型,用来限定集合中储存数据类型 方法名说明 boolean add(E e) 添加元素,返回值表示是否添加成功 boolean rem 阅读全文
posted @ 2023-05-06 11:40 java贼溜 阅读(74) 评论(0) 推荐(0)
摘要:JAVA中的static关键字 System.exit(0);表示停止虚拟机运行 static表示静态,是Java中的一个修饰符,可以修饰成员方法和成员变量 被static修饰的成员变量,叫静态变量 特点: 被该类所有对象共享 不属于对象,属于类 随着类的加载而加载,优先于对象存在 调用方式: 类名 阅读全文
posted @ 2023-05-08 16:50 java贼溜 阅读(58) 评论(0) 推荐(0)
摘要:JAVA——继承详解 继承是面向对象三大特征之一,可以让类跟类之间产生父子关系 可以把多个子类中重复的代码抽取到父类中,子类可以直接使用,减少代码重复,提高代码的复用性 格式:public class 子类 extends 父类 {} 继承后子类的特点 子类可以得到父类的属性和行为,子类可以使用 子 阅读全文
posted @ 2023-05-14 10:16 java贼溜 阅读(212) 评论(0) 推荐(0)
摘要:JAVA 多态详解 多态——同类型的对象,表现出的不同形态 表现形式:父类类型 对象名称 = 子类对象; 多态的前提 有继承关系 有父类引用指向子类对象 有方法重写 调用成员变量的特点:编译看左边,运行看右边 调用成员方法的特点:编译看左边,运行也看左边 优势 在多态的形态下,右边对象可以实现解耦合 阅读全文
posted @ 2023-05-15 17:11 java贼溜 阅读(91) 评论(0) 推荐(0)
摘要:JAVA 多态详解 多态——同类型的对象,表现出的不同形态 表现形式:父类类型 对象名称 = 子类对象; 多态的前提 有继承关系 有父类引用指向子类对象 有方法重写 调用成员变量的特点:编译看左边,运行看右边 调用成员方法的特点:编译看左边,运行也看左边 优势 在多态的形态下,右边对象可以实现解耦合 阅读全文
posted @ 2023-05-16 13:54 java贼溜 阅读(86) 评论(0) 推荐(0)
摘要:Java中的包 包就是文件夹,用来管理各种不同的java类,方便后期维护 规则:公司域名反写+包的作用,全部英文小写 全类名:包名+类名 注意: 使用同一个包中的类时,不需要导包 使用java.lang包中的类时,不需要导包 其他情况都需要导包 如果同时使用两个包中的同名类,需要全类名 阅读全文
posted @ 2023-05-20 21:38 java贼溜 阅读(46) 评论(0) 推荐(0)
摘要:Java中的final,权限修饰符与抽象类 final 修饰方法:表明该方法是最终方法,不能被重写 修饰类:表明该类是最终类,不能被继承 修饰变量:叫做常量,只能被赋值一次 基本数据类型:变量的值不能修改 引用数据类型:地址值不能修改,内部变量可以修改 权限修饰符的使用规则 实际开发中,一般只用pr 阅读全文
posted @ 2023-05-20 21:53 java贼溜 阅读(59) 评论(0) 推荐(0)
摘要:JAVA中的接口详解 接口中成员的特点 成员变量:只能是常量 默认修饰符:public,static,final 构造方法:没有 成员方法:只能是抽象方法 默认修饰符:public,abstract 接口和类的关系 类和类的关系:继承关系,只能是单继承,不能多继承,但可以多层继承 类和接口的关系:实 阅读全文
posted @ 2023-05-21 21:29 java贼溜 阅读(142) 评论(0) 推荐(0)
摘要:JAVA的内部类 写在一个类里面的类就叫内部类 分类 成员内部类:写在成员位置的,属于外部类的成员 静态内部类:是一种特殊的成员内部类 局部内部类:将内部类定义在方法里面 匿名内部类:隐藏了名字的内部类,可以写在成员位置也可以写在局部位置 获取成员内部类的两种方法 当成员内部类被private修饰时 阅读全文
posted @ 2023-05-27 12:05 java贼溜 阅读(49) 评论(0) 推荐(0)
摘要:java中的常用类及常用方法 math类的常用方法 方法名说明 public static int abs(int a) 获取参数绝对值 public static double ceil(double a) 向上取整 public static double flcor(double a) 向下取 阅读全文
posted @ 2023-05-28 13:40 java贼溜 阅读(139) 评论(0) 推荐(0)
摘要:正则表达式 .matches 字符类(只匹配一个字符) [abc] 只能是a,b或c [^abc] 除了a,b,c之外的任何字符 [a-zA-Z] a到z A到Z [a-d[m-p]] a到d 或m到p [a-z&&[def]] a-z和def的交集 为:d,e,f [a-z&&[ ^ bc]] a 阅读全文
posted @ 2023-05-29 20:39 java贼溜 阅读(36) 评论(0) 推荐(0)
摘要:爬虫 pattern :表示正则表达式 Matcher:文本匹配器,作用按照正则表达式的规则去读取字符串,从头开始读取 步骤: 获取正则表达式的对象 Pattern p=Pattern.compile(" 正则表达式"); 获取文本匹配器的对象 String str="文本"; Matcher m= 阅读全文
posted @ 2023-06-03 09:24 java贼溜 阅读(71) 评论(0) 推荐(0)
摘要:JAVA——时间类 世界标准时间 格林尼治时间 简称GMT 目前世界标准时间已替换为:原子钟 中国标准时间:世界标准时间+8小时 时间单位换算 1秒=1000毫秒 1毫秒=1000微秒 1微秒=1000纳秒 如何创建对象? Date date=new Date(); Date date =new D 阅读全文
posted @ 2023-06-07 16:39 java贼溜 阅读(133) 评论(0) 推荐(0)
摘要:JAVA——包装类及Integer的成员方法 用一个对象,把基本类型给包起来 基本数据类型对应的对象 byte->Byte short->Short char->Character int->Integer long->Long float->Float double->Double boolean 阅读全文
posted @ 2023-06-10 08:56 java贼溜 阅读(39) 评论(0) 推荐(0)
摘要:算法总结 七种查找 基本查找 二分查找 插值查找 分块查找 斐波那契查找 哈希查找 树表查找 基本查找:从0索引开始挨个往后找,也叫顺序查找 二分查找/折半查找:可以提高查找效率 前提条件:数组中的数据必须是有序的 核心逻辑:每次排除一半的范围 min和max表示当前要查找的范围 mid是在min和 阅读全文
posted @ 2023-06-10 09:08 java贼溜 阅读(46) 评论(0) 推荐(0)
摘要:Arrays ——操作数组的工具类 方法名说明 public static String toString(数组) 把数组拼接成一个字符串 public static int binarySearch(数组,查找的元素) 二分法查找元素 public static int [] copyof(原数组 阅读全文
posted @ 2023-06-12 15:33 java贼溜 阅读(48) 评论(0) 推荐(0)
摘要:Lambda表达式 Lambda表达式时JDk8开始后的一种新语法形式 格式: ()->{ } ()对应着方法的形参 ->固定格式 {}对应着方法的方法体 Lambda表达式可以用来简化匿名内部类的书写 lambd表达书只能简化函数式接口的匿名内部类的写法 函数式接口:有且只有一个抽象方法的接口叫做 阅读全文
posted @ 2023-06-16 09:43 java贼溜 阅读(38) 评论(0) 推荐(0)
摘要:集合体系结构 List系列集合:添加的元素有序,可重复,有索引 Collection:是单列集合的祖宗接口,它的功能是全部单列集合都可以继承使用的 set系列集合:添加的元素无序,不重复,无索引 方法名说明 public boolean add(E e) 把给定的对象添加到当前集合中 public 阅读全文
posted @ 2023-06-18 07:56 java贼溜 阅读(100) 评论(0) 推荐(0)
摘要:JAVA之树的详解 度:每一个结点的子节点数量 树高:树的总层数 根节点:最顶层的节点 左子节点:左下方的节点 右子节点:右下方的节点 二叉查找树 特点 每一个节点上最多有两个子节点 任意节点左子树上的值都小于当前节点 任意节点右子树的值都大于当前节点 添加节点规则 小的存左边 大的存右边 一样的不 阅读全文
posted @ 2023-06-21 13:00 java贼溜 阅读(91) 评论(0) 推荐(0)
摘要:Set系列集合 无序:存取顺序不一样 不重复:可以去除重复的 无索引:没有带索引的方法,所以不能使用普遍for循环遍历,不能用索引获取元素 set集合的实现类 HashSet:无序 不重复 无索引 LinkedHashSet:有序 不重复 无索引 TreeSet:可排序 不重复 无索引 Set接口中 阅读全文
posted @ 2023-06-22 10:26 java贼溜 阅读(46) 评论(0) 推荐(0)
摘要:java——双列集合 双列集合一次需要存一对数据,分别为键和值 键不能重复 键和值是一一对应的,每一个键只能找到自己对应的值 键+值这个整体我们称之为“键值对”或“键值对对象”Entry对象 方法名说明 V put(k key,v value) 添加元素 V remove(Object key) 根 阅读全文
posted @ 2023-08-29 10:55 java贼溜 阅读(123) 评论(0) 推荐(0)
摘要:作用:结合了Lambda表达式,简化集合,数组的操作 使用步骤: 先得到一条stream流水线,并把数据放上去 使用中间方法对流水线上的数据进行操作 使用终结方法对流水线上的数据进行操作 获取方式方法名说明 单列集合 default Stream< E >stream() Collection中的默 阅读全文
posted @ 2023-10-02 09:13 java贼溜 阅读(48) 评论(0) 推荐(0)
摘要:把已经有的方法拿过来用,当作函数式接口中抽象方法的方法体 引用出必须是函数式接口 被引用的方法必须已经存在 被引用方法的形参和返回值需要和抽象方法保持一致 被引用方法的功能要满足当前要求 ::双冒号是方法引用符 方法引用的分类 引用静态方法: 格式 类名::静态方法 引用成员方法: 格式 类名::成 阅读全文
posted @ 2023-10-04 09:39 java贼溜 阅读(47) 评论(0) 推荐(0)
摘要:JAVA——异常 父类Exception 子类RuntimeException 和 其他异常 Exception:叫做异常,代表程序可能会出现的问题,我们通常会用Exception以及它的子类来封装程序出现的问题 运行时异常:RuntimeException及其子类,编译阶段不会出现异常提醒,运行时 阅读全文
posted @ 2023-10-06 13:40 java贼溜 阅读(37) 评论(0) 推荐(0)
摘要:File --JAVA 构造方法 方法说明 public File (String pathname) 根据文件路径创建对象 public File (String parent, String child) 根据父路径名字字符串和子路径名字符串创建文件对象 public File (String 阅读全文
posted @ 2023-10-31 13:06 java贼溜 阅读(94) 评论(0) 推荐(0)
摘要:面向过程 VS 面向对象:洗衣服的两种人生作为一个Java工程师,经常被问到:"面向过程和面向对象到底有什么区别?"今天我们就用最接地气的例子——洗衣服,来聊聊这两种编程思想。 洗衣服的两种打开方式 面向过程:流水线作业 想象你是个效率狂人,洗衣服就像执行一套标准流程: 放衣服 → 加洗衣液 → 加水 → 洗涤 → 脱水 这就是面向过程的思 阅读全文
posted @ 2025-07-03 14:24 java贼溜 阅读(41) 评论(0) 推荐(0)
摘要:面向对象三大特性 继承 什么是继承 继承的概念来源于现实生活,维基百科将其定义为:在所有权人死亡后,将其财产、债务、爵位、世袭官职等转移给一个或多个继承人继承。而在Java编程语言中,继承是面向对象的三大特性之一。 继承的本质是代码复用,当我们发现多个类之间存在相同的属性或行为时,可以将这些共同特征 阅读全文
posted @ 2025-07-18 19:09 java贼溜 阅读(28) 评论(0) 推荐(0)
摘要:面向对象的三大特性---多态面向对象的三大特性 多态 多态(Polymorphism)是面向对象编程的核心特性之一,简单来说就是父类的引用指向子类的对象。在有继承关系的对象中,同一个对象在不同时候可以展示出不同的状态和行为。这种特性让我们的程序更加灵活和可扩展。 多态可以分为两种时期: 运行期多态: 程序在运行时根据对象的实际 阅读全文
posted @ 2025-07-24 10:09 java贼溜 阅读(42) 评论(0) 推荐(0)
摘要:面向对象三大特性---封装面向对象三大特性 封装 什么是封装? 封装说白了就是把东西包起来,不让外人随便碰。就像你的手机,虽然内部有复杂的电路板、芯片,但厂商把这些都封装在外壳里,你只需要通过屏幕和按钮来操作,不需要直接接触内部零件。 为什么需要封装? 保护数据安全:想象一下,如果银行账户的余额可以被任何人随意修改,那会是什 阅读全文
posted @ 2025-08-01 11:44 java贼溜 阅读(23) 评论(0) 推荐(0)
摘要:Java平台无关性的实现原理 "一次编写,到处运行"(Write Once, Run Anywhere)是Java语言最著名的特性之一。这个特性的背后,隐藏着Java平台无关性的巧妙设计。作为一名Java工程师,深入理解这一机制对我们的日常开发工作具有重要意义。 Java的平台无关性带来了显著的实用 阅读全文
posted @ 2025-08-07 17:41 java贼溜 阅读(66) 评论(0) 推荐(0)
摘要:前几天开发时踩了个坑,前端拿不到 isSuccess 的值,调接口看返回也确实有数据,排查了半天才发现是字段命名的问题。今天就把这个踩坑过程整理出来,希望能帮大家少走弯路。 Java Bean 的 getter/setter 规范 普通类型比如 int、String 这些,getter 是 getX 阅读全文
posted @ 2025-09-24 22:05 java贼溜 阅读(85) 评论(0) 推荐(0)
摘要:众所周知,double 和 float 这些浮点数其实是不精确的。 比如 0.1 + 0.2 并不等于 0.3,而是等于 0.30000000000000004——这也一度成为程序员圈子里的经典梗。所以用浮点数表示金额这种需要精确计算的数值,是会出现精度丢失问题的。 double a = 0.1; 阅读全文
posted @ 2025-10-10 18:34 java贼溜 阅读(974) 评论(3) 推荐(4)
摘要:List.subList() 返回值为什么不能强转成 ArrayList先说结论 很多人用 subList() 的时候,可能会想当然地认为它返回的是一个新的 ArrayList。但实际上,subList() 返回的是原 List 的一个视图(View),并不是一个独立的 ArrayList 对象。 // 这样会报 ClassCastException ArrayList 阅读全文
posted @ 2025-10-17 21:30 java贼溜 阅读(30) 评论(0) 推荐(0)