【发布时间】:2020-07-17 21:55:47
【问题描述】:
- Entity.class 抽象母类
- Player.class 扩展实体
- Wall.class 扩展实体
public class slkjflksdjf
{
ArrayList entities = new ArrayList();
Player player = new Player();
Wall wall = new Wall();
public slkjflksdjf()
{
entities.add(player);
entities.add(wall);
for(int i = 0; i < entities.size(); i++)
{
if(entities.get(i) instanceof Wall)
{
//do something
}
}
}
}
当通过我的实际完整大小的实体列表检查 instanceof 时,它会一遍又一遍地快速抛出“执行此操作”块,换句话说,快速播放音频剪辑哈哈。 所以从我可以看出它把墙和播放器都视为实体,所以即使它们都是原始实体的扩展,InstanceOf 也会导致它变为真?
【问题讨论】:
-
我可以用 50 个不同的 Floor 副本填充这个数组列表,这些副本也扩展了 Entity,当我知道并非所有东西都是 Wall 对象时,它仍然会执行 instanceof 块中的内容。因此,为什么我认为由于它们都扩展了 Entity 类而将它们都视为同一件事
-
请在您的问题中输入代码文本。然后使用“{}”工具查看格式化的文本,假设之前已经格式化。我为每个缩进级别使用三个空格。
-
或者它在输出时将所有对象视为相同??
-
贴出代码文本。如果无法修复,请不要担心格式化。
-
多少个空格。这就是格式在每一行后面想要的。 14个左右?
标签: java arraylist instanceof