Java:在整数数组中存储int
能否将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原语访问整
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
出于您的目的,您编写的两个示例都将起作用