将数组列表的实例强制转换为另一个实例

时间:2013-10-24 18:11:37

标签: java class loops casting

我有两个课程,项目和怪物。 Monster是Items的子类。我循环遍历项目实例的集合以查看它们是否与怪物实例匹配,如果是,则将项目实例强制转换为怪物实例。但是我不确定如何将arraylist中的特定项目转换为其他类型的类。继承我的代码,任何帮助都会有所帮助。

 public void describe()
    {      
        int j = 0;

        while(j < iInstances.size())
        {
            if(iInstances.get(j).equals(mInstances.get(j)))
            {

            }
            iInstances.get(j).describe();
        }
    }

2 个答案:

答案 0 :(得分:2)

Monster monster = (Monster) iInstances.get(j);

答案 1 :(得分:0)

如果您想检查每个Item是否是类Monster的实例,您可以轻松地询问它的实例,然后转换为Monster

public void describe() {
    for (Item item : iInstances) {
        if (item instanceof Monster) {
            Monster monster = (Monster) item;
            // now do what you want with your monster
        }
    }
}