为每个数组元素分配子类(运行时类型)

时间:2014-03-10 18:25:19

标签: java arrays types

我有一个基类Building和子类HouseSchool。我已通过以下方式声明了arrayBuilding个对象。我不确定如何为每个数组元素(运行时类型)分配子类。

Building[] House = new Building[3];
Building[] School = new School[2];

2 个答案:

答案 0 :(得分:2)

您可以使用instanceof来确定子类

if (building instanceof House) {
    House[0] = building;
}

答案 1 :(得分:1)

我不确定您是否询问如何在运行时检查类型或在运行时填充类型。如果后者使用instanceof查看@ Salah的答案。特别是,当House数组填充Building个对象时,School数组填充School个对象的原因令我感到困惑。

分配:

Building[] house = new House[3];
Building[] school = new School[2];

您还可以使用Building个对象填充数组,然后在需要的时候使用类型检查。