java - 如何检查两个对象是否属于同一类?

标签 java

如果我有如下两个对象...

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/

相关文章:

java:如何知道对象内部变量的类型?

java - 如何将从 bash 脚本获取的日期转换为 Java 程序中的毫秒数?

java - 如何获取字符串中第一个和最后一个字符的索引?

java - spring手动添加bean

java - SpringBoot - UnsatisfiedDependencyException Spring Boot 不是扩展 CrudRepository 的 Autowiring Repository 接口(interface)

java - 在 IntelliJ 中执行程序/编译时出错,命令行中没有错误

java - 如何避免在键盘中单击“完成”时调用 ExpandableListView 中的 getChildView

java - 如何将 1 亿行加载到内存中

java - AXIS Web 服务未使用 Weblogic 服务器上定义的信任库

java - 如何获取 bufferedImage 的缩放实例