在 Java 中,包装类(Wrapper Class)是一种将基本数据类型包装成对象的类。Java 中有8种基本数据类型:byte、short、int、long、float、double、char 和 boolean。为了使这些基本数据类型具有对象的特性,Java 提供了对应的包装类,它们分别是 Byte、Short、Integer、Long、Float、Double、Character 和 Boolean。
包装类的作用包括:
- 将基本数据类型转换为对象,从而在需要对象的场景也可以使用基本数据类型。
- 提供了一些实用的方法来操作基本数据类型,例如将字符串转换为基本数据类型、比较两个对象等。
- 允许在集合类中存储基本数据类型,因为集合类只能存储对象。
使用包装类时,可以通过自动装箱(Autoboxing)和拆箱(Unboxing)来方便地在基本数据类型和包装类之间进行转换。自动装箱是指将基本数据类型自动转换为对应的包装类对象,而拆箱则是将包装类对象自动转换为对应的基本数据类型。
当需要将基本数据类型赋给对应的包装类对象时,Java 编译器会自动进行装箱操作;当需要将包装类对象赋给对应的基本数据类型时,编译器会自动进行拆箱操作。
例如:
Integer number = 10; // 自动装箱
int num = number; // 自动拆箱
也可以,手动,明确地使用手动装箱和拆箱可以使代码更加清晰易懂,特别是对于那些不熟悉自动装箱和拆箱规则的人来说
int num= 30;
Integer number= Integer.valueOf(num); // 手动装箱
Integer number= new Integer(40);
int num= number.intValue(); // 手动拆箱