如果我有如下两个对象...
ClassA classAInstance = ...
ClassB classBInstance = ...
... 其中 ClassB 是 ClassA 的直接子类(扩展),分配给“classAInstance”和“classBInstance”的实际对象可以是 ClassA、ClassB 的实例或 ClassA 的直接或间接子类...
然后如何检查分配给“classAInstance”和“classBInstance”的对象是否属于同一类?以下是否正确...
classAInstance.getClass().equals(classBInstance.getClass());
... 还是我应该比较的其他属性?
最佳答案
不,这就是做事的方式……假设这是正确的做法。当然,与大多数反射一样,如果您希望对 ClassB
的层次结构的工作方式进行任何重构,那么比较类是非常脆弱的。
关于java - 如何检查两个对象是否属于同一类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9672257/