在 Java 中,int 和 Integer 之间的转换有两种方式:
-
自动装箱(Autoboxing):
- 自动装箱是指将基本数据类型自动转换为对应的包装类。
- 当需要将
int赋值给Integer对象时,或者需要将int作为方法的参数传递给接受Integer的方法时,会发生自动装箱。
int primitiveInt = 42; Integer boxedInteger = primitiveInt; // 自动装箱 -
手动装箱(Manual Boxing):
- 通过构造函数或
valueOf方法手动将int转换为Integer。
int primitiveInt = 42; Integer boxedInteger = new Integer(primitiveInt); // 手动装箱 // 或 Integer anotherBoxedInteger = Integer.valueOf(primitiveInt); // 手动装箱 - 通过构造函数或
注意事项:
- 在 Java 5 及以上版本,引入了自动装箱和拆箱机制,使得基本数据类型和包装类之间的转换更加方便。
- 当涉及到大量的装箱和拆箱时,要注意性能问题,因为自动装箱和拆箱会引入额外的性能开销。在一些性能敏感的场景中,可以通过使用基本数据类型来避免这些开销。