0

为什么使用 .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

编辑:比较不同的类而不是我想要比较的类。

4

1 回答 1

3

您正在打印 and 的类worldXblock然后将前者与bug(无论是什么)进行比较。

如果它们同一个类并getClass().equals()返回false,一种可能性是有多个类加载器在起作用。

于 2013-11-01T19:54:29.830 回答