Java:在整数数组中存储int

Java:在整数数组中存储int,java,arrays,Java,Arrays,能否将int值存储到整数数组中 给定一个数组: Integer[] array = new Integer[10]; 以下两种说法相等吗 Integer x = new Integer(1); array[0] = x; int x = 1; array[0] = x; 它们不是100%等价的。但是,以下内容应等效: Integer x = Integer.valueOf(1); array[0] = x; int x = 1; array[0] = x; 请注意,int原语访问整

能否将int值存储到整数数组中

给定一个数组:

Integer[] array = new Integer[10];
以下两种说法相等吗

Integer x = new Integer(1);
array[0] = x;

int x = 1;
array[0] = x;

它们不是100%等价的。但是,以下内容应等效:

Integer x = Integer.valueOf(1); 
array[0] = x;

int x = 1; 
array[0] = x;
请注意,int原语访问整数包装类。因此,在Integer数组中存储的不是int原语,而是Integer对象


您几乎不应该使用Integer构造函数(它总是创建一个新对象),而应该使用它的一个静态工厂方法或自动装箱(更少的代码),它允许缓存实例(因为它们是不可变的)。

一旦值位于数组本身内部,它们都是
Integer
类型的值。如果将基元对象传递给其包装类的实例,则该基元类型是自动装箱的,这意味着它将自动转换为其包装类的类型

Integer x = 4; //autoboxing: "4" is converted to "new Integer(4)"
同样,包装类类型在传递给基元类型时可以解除绑定:

int x = new Integer(4); //unboxing: "new Integer(4)" is converted to primitive int 4
出于您的目的,您编写的两个示例都将起作用