0

我有两个课程,物品和怪物。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();
        }
    }
4

2 回答 2

2

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

于 2013-10-24T18:12:50.850 回答
0

如果您想检查每个Item是否是 class 的实例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
        }
    }
}
于 2013-10-24T19:33:22.167 回答