欢迎光临
我们一直在努力

Java常用类

一、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. StringBuilder(JDK5):可变字符序列,线程不安全、效率高。

2. StringBuffer(JDK1.0):可变字符序列,线程安全、效率偏低。

3. 通用核心方法:append() 实现字符串拼接,二者拼接效率远高于 String。

4. 三者区别:String 不可变、拼接慢;StringBuilder/Buffer 可变、拼接快,差异主要在线程安全。

五、BigDecimal 类

位于 java.math 包,用于浮点数精确运算,解决浮点计算精度丢失问题。

1. 推荐使用字符串形式构造对象。

2. 常用方法:add() 加、subtract() 减、multiply() 乘、divide() 除(可指定保留小数位数与四舍五入规则)。

赞(0)
未经允许不得转载:171主机测评 » Java常用类
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址