当我们被允许使用Object类创建异构数组时,java中的Array如何可以是同类的?

时间:2017-09-22 01:18:01

标签: java arrays

我们说Java中的Array是同构的。我们仍然可以通过将数组声明为Object来存储异构数据,如下所示: Object [] elements = new Object [10];

然后,我们怎么说Array是同质的?任何人都可以帮助我理解吗?提前谢谢!

1 个答案:

答案 0 :(得分:4)

数组元素仅在编译时是同构的;在运行时,它们可能是异构的。

数组仅在其元素的静态方面是同构的,即编译时类型:数组的所有元素都为编译器所知,具有相同的类型。

然而,就运行时类型而言,可以将任何数组元素类型的子类型添加到数组中,从而为运行时异构数组提供了可能性。