gpt4 book ai didi

java比较对象: using reflection?

转载 作者:行者123 更新时间:2023-12-03 23:06:31 25 4
gpt4 key购买 nike

我有一个对象,它本身有多个对象作为字段。我的问题是,我有两个此类对象,我想比较这两个对象。我知道我可以做 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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com