一、Object 类java.lang.Object 是所有类的根父类所有类默认直接或间接继承它其中方法所有类均可使用。1. getClass()返回对象实际类型可判断两个对象类型是否一致。2. hashCode()返回对象哈希码不同对象哈希值一般不同。3. toString()返回对象字符串描述开发中建议重写拼接对象所有属性。4. equals()◦ 原生实现等价于 仅比较对象地址。◦ 业务场景需重写用于对比对象内容重写流程判断是否为同一对象 → 判断非空 → 判断类型一致 → 强转后逐属性对比。5. 与 equals 区别◦ 基本类型比数值引用类型比内存地址。◦ equals默认比地址重写后对比对象内容。6. finalize()JVM 垃圾回收时自动调用可通过 System.gc() 手动提醒 GC执行时机不可控不建议编写核心逻辑。二、包装类将8种基本数据类型转为引用类型位于 java.lang 包。1. 对应关系byte→Byte、short→Short、int→Integer、long→Long、float→Float、double→Double、char→Character、boolean→Boolean。2. 类型转换◦ 基本类型 ↔ 包装类构造方法 / valueOf() / intValue() 等方法转换。◦ 字符串 ↔ 数值类型字符串转数字用 parseXXX()纯数字字符串才可转换否则抛出数字格式异常。3. 自动装箱拆箱JDK5◦ 装箱基本类型直接赋值给包装类拆箱包装类直接赋值给基本类型。◦ 整数缓冲区Integer 缓存 -128 ~ 127 数据该区间内对象复用 结果为 true超出则新建对象。4. 使用场景实体类属性常用包装类可通过 null 区分空值与有效数据。三、String 字符串类重点1. 创建方式◦ 直接赋值 String s xxx仅在字符串常量池创建1个对象。◦ new String(xxx)常量池、堆内存各创建1个对象。2. 常用方法◦ charAt()根据下标取字符下标越界抛出异常。◦ contains()判断是否包含子串equals()对比字符串内容。◦ length()获取字符串长度trim()去除首尾空格。◦ split()按照规则拆分字符串为数组。3. 特性不可变字符串拼接会生成新对象频繁拼接效率低常量拼接编译期会直接优化。四、可变字符串1. StringBuilderJDK5可变字符序列线程不安全、效率高。2. StringBufferJDK1.0可变字符序列线程安全、效率偏低。3. 通用核心方法append() 实现字符串拼接二者拼接效率远高于 String。4. 三者区别String 不可变、拼接慢StringBuilder/Buffer 可变、拼接快差异主要在线程安全。五、BigDecimal 类位于 java.math 包用于浮点数精确运算解决浮点计算精度丢失问题。1. 推荐使用字符串形式构造对象。2. 常用方法add() 加、subtract() 减、multiply() 乘、divide() 除可指定保留小数位数与四舍五入规则。
Java常用类
发布时间:2026/6/10 23:11:06
一、Object 类java.lang.Object 是所有类的根父类所有类默认直接或间接继承它其中方法所有类均可使用。1. getClass()返回对象实际类型可判断两个对象类型是否一致。2. hashCode()返回对象哈希码不同对象哈希值一般不同。3. toString()返回对象字符串描述开发中建议重写拼接对象所有属性。4. equals()◦ 原生实现等价于 仅比较对象地址。◦ 业务场景需重写用于对比对象内容重写流程判断是否为同一对象 → 判断非空 → 判断类型一致 → 强转后逐属性对比。5. 与 equals 区别◦ 基本类型比数值引用类型比内存地址。◦ equals默认比地址重写后对比对象内容。6. finalize()JVM 垃圾回收时自动调用可通过 System.gc() 手动提醒 GC执行时机不可控不建议编写核心逻辑。二、包装类将8种基本数据类型转为引用类型位于 java.lang 包。1. 对应关系byte→Byte、short→Short、int→Integer、long→Long、float→Float、double→Double、char→Character、boolean→Boolean。2. 类型转换◦ 基本类型 ↔ 包装类构造方法 / valueOf() / intValue() 等方法转换。◦ 字符串 ↔ 数值类型字符串转数字用 parseXXX()纯数字字符串才可转换否则抛出数字格式异常。3. 自动装箱拆箱JDK5◦ 装箱基本类型直接赋值给包装类拆箱包装类直接赋值给基本类型。◦ 整数缓冲区Integer 缓存 -128 ~ 127 数据该区间内对象复用 结果为 true超出则新建对象。4. 使用场景实体类属性常用包装类可通过 null 区分空值与有效数据。三、String 字符串类重点1. 创建方式◦ 直接赋值 String s xxx仅在字符串常量池创建1个对象。◦ new String(xxx)常量池、堆内存各创建1个对象。2. 常用方法◦ charAt()根据下标取字符下标越界抛出异常。◦ contains()判断是否包含子串equals()对比字符串内容。◦ length()获取字符串长度trim()去除首尾空格。◦ split()按照规则拆分字符串为数组。3. 特性不可变字符串拼接会生成新对象频繁拼接效率低常量拼接编译期会直接优化。四、可变字符串1. StringBuilderJDK5可变字符序列线程不安全、效率高。2. StringBufferJDK1.0可变字符序列线程安全、效率偏低。3. 通用核心方法append() 实现字符串拼接二者拼接效率远高于 String。4. 三者区别String 不可变、拼接慢StringBuilder/Buffer 可变、拼接快差异主要在线程安全。五、BigDecimal 类位于 java.math 包用于浮点数精确运算解决浮点计算精度丢失问题。1. 推荐使用字符串形式构造对象。2. 常用方法add() 加、subtract() 减、multiply() 乘、divide() 除可指定保留小数位数与四舍五入规则。