java比较对象: using reflection?

标签 java reflection object compare

我有一个对象,它本身有多个对象作为字段。我的问题是,我有两个此类对象,我想比较这两个对象。我知道我可以做 equals、comparator 等,但是有没有办法使用反射来获取对象的属性并进行比较。

例如,如果我有一个 Car 对象,它作为 wheels 对象,它有 tires 对象,它有 bolts 对象。请记住以上所有对象都是独立的而不是嵌套类。我如何比较 2 个汽车对象?

感谢任何帮助?

谢谢

最佳答案

Apache Commons Lang有一个 EqualsBuilder正是这样做的类(参见 reflectionEquals() 方法)

 public boolean equals(Object obj) {
   return EqualsBuilder.reflectionEquals(this, obj);
 }

EqualsBuilder 还为特定字段的 null 安全比较提供了更明确的方法,这使得编写“适当的”(即非反射的)equals 方法不那么繁重。

关于java比较对象: using reflection?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1520941/

相关文章:

java - 当一个对象被分配给另一个对象时会发生什么

java - 是否可以仅更改已为 java 内置的数据结构的一种方法?

java - 如何通过反射读取 Javadoc 注释?

javascript - 如何比较javascript中的对象元素值

C#如何将object中的所有空列表变成null

php - 在没有 php 类实例的情况下获取类名

javascript - 是否可以从javascript Function 对象继承?

java - 从 JAR 或文件系统加载 ImageIcon

java - HttpGet 401 状态代码后跟 200 状态代码

java - 获取当前日期并将其保存在数据库中