在数组中,元素是存储的原语还是对象?

时间:2012-05-11 14:21:21

标签: java

int[] array = new int[10];
for (int i = 0; i < array.length; i++) {
    array[i] = 0;
}

在这个例子中,值0是作为基元还是作为对象存储在数组中的?

非常感谢

2 个答案:

答案 0 :(得分:5)

在这种情况下,该值存储为基元。如果您将类型更改为基元的包装 Integer,则该值将作为“自动装箱”Object进入。例如,此代码会自动显示您的值:

Integer[] array = new Integer[10];
for (int i = 0; i < array.length; i++) {
    array[i] = 0;
}

答案 1 :(得分:2)

在Java中,有基元数组和对象数组。

int[]是一个基元数组,因此0存储为基元。

对应的对象数组的类型为Integer[]。将0存储在此类数组中会导致它被“自动装箱”到Integer对象中。

值得指出的是,Java容器(以及任何其他泛型类)只能用于对象。例如,构建List intListInteger是不可能的。如上所述,此限制不适用于数组。