1

我有一个名为“Entity”的类,它由“Player”和“Slime”暴民等其他类扩展。在另一个名为“Level”的类中,我有一个名为实体的 ArrayList,现在我将这些单独的类添加到 ArrayList。

for (Entity entity : entities) {
    entities.add(entity);
}

在循环遍历 ArrayList 时,如何检查当前对象是 Player 还是 Slime?

for (Entity entity : entities) {
    if (entity == Player) {
        System.out.println("Player class!");
    }
}

显然这不起作用,但我该怎么做呢?谢谢你的帮助 :)

4

3 回答 3

1

使用instanceof检查对象类型的运算符。

for (Entity entity : entities) {
    if (entity instanceof Player) {
        System.out.println("Player class!");
    }
}
于 2013-04-12T00:35:58.540 回答
1

您可以使用instanceof运算符来检查对象的类型。

例子

if(entity instanceof Slime)
{
    // Is a mob.
}

解释

有关如何instanceof工作的更详细信息,请查看此链接

于 2013-04-12T00:36:05.883 回答
1

你可以做类似的事情

if(entity instanceof Player)
//do something
于 2013-04-12T00:36:28.040 回答