如何通过包装类高效转换基本类型与对象间数据?
- 内容介绍
- 相关推荐
本文共计859个文字,预计阅读时间需要4分钟。
Java 中,`int` 和 `boolean` 是基本类型,不继承自 `Object` 类型。因此,不能直接将这些基本类型转换为 `Object` 类型,也不能使用 `ArrayList`、泛型方法或 `equals()` 方法。例如,直接尝试将 `int` 类型转换为 `Object` 类型会编译错误,错误信息为:
包装类(Integer、Boolean 等)就是为解决这个而生的:它们是真正的类,有字段、方法、能 null,还能参与多态。
Integer.valueOf() 比 new Integer() 强在哪
手动 new Integer(42) 会无条件创建新对象,浪费内存;而 Integer.valueOf(42) 在 -128 到 127 范围内复用缓存对象(JLS 规定),既快又省。
本文共计859个文字,预计阅读时间需要4分钟。
Java 中,`int` 和 `boolean` 是基本类型,不继承自 `Object` 类型。因此,不能直接将这些基本类型转换为 `Object` 类型,也不能使用 `ArrayList`、泛型方法或 `equals()` 方法。例如,直接尝试将 `int` 类型转换为 `Object` 类型会编译错误,错误信息为:
包装类(Integer、Boolean 等)就是为解决这个而生的:它们是真正的类,有字段、方法、能 null,还能参与多态。
Integer.valueOf() 比 new Integer() 强在哪
手动 new Integer(42) 会无条件创建新对象,浪费内存;而 Integer.valueOf(42) 在 -128 到 127 范围内复用缓存对象(JLS 规定),既快又省。

