我有一个名为" Entity"的课程,这是由其他课程扩展的,例如"播放器"和#34;史莱姆"暴民。在另一个名为" Level"我有一个名为entities的ArrayList,现在我将这些单独的类添加到ArrayList。
for (Entity entity : entities) {
entities.add(entity);
}
如果当前对象是Player或Slime,如何在循环遍历ArrayList时检查?
for (Entity entity : entities) {
if (entity == Player) {
System.out.println("Player class!");
}
}
显然这不起作用,但我怎么能这样做?感谢您的帮助:))
答案 0 :(得分:1)
使用检查对象类型的instanceof
运算符。
for (Entity entity : entities) {
if (entity instanceof Player) {
System.out.println("Player class!");
}
}
答案 1 :(得分:1)
您可以使用instanceof
运算符来检查对象的类型。
示例
if(entity instanceof Slime)
{
// Is a mob.
}
解释
有关instanceof
工作原理的详细信息,请查看此link
答案 2 :(得分:1)
您可以执行类似
的操作if(entity instanceof Player)
//do something