为什么使用.getClass()。equals()的比较不起作用?
System.out.println("worldX: " + worldX.get(j).getClass());
System.out.println("-block: " + block.getClass());
System.out.println("Comparison: " + worldX.get(j).
getClass().equals(bug.getClass()));
打印出以下内容:
worldX: class aWorld.ABlock
-block: class aWorld.ABlock
Comparison: false
编辑: 比较我要比较的不同类别。
答案 0 :(得分:3)
您正在打印worldX
和block
的类,但之后将前者与bug
(无论是什么)进行比较。
如果他们 同一个班级而getClass().equals()
返回false
,则有一种可能性就是有多个class loaders正在播放。