在下面的代码中,EX1和EX2证明了同种类型的理论,但在EX3中却包含了多种类型的值。那么,我们如何说数组是同种类型的呢?背后的确切理论是什么?
public class Test {
public static void main(String[] args) {
// Ex 1
int [] intArr = new int[5];
intArr[0] = 1;
intArr[1] = 2;
// Ex 2
int [] intArr2 = new int[5];
intArr2[0] = 1;
intArr2[1] = "ss";
// Ex 3
Object [] objArr = new Object[5];
objArr[0] = 1;
objArr[1] = "ss";
objArr[3] = new Object();
}
}
Object
(就像自动装箱和拆箱与Integer <-> int
一样)。但是当它们被添加到数组中时,它们会被强制转换为Object
,因此数组保持同质性。它只包含类型为Object
的值。 - Random GuyobjArr [0]
包含一个int
装箱成的Object
类型的Integer
对象;objArr [1]
包含一个String
类型的Object
对象;而objArr [3]
包含明显是一个Object
类型的Object
对象。因此,您有一个包含许多Objects
的数组。 - xtratic