Java 根据对象的成员变量和值比较对象
我可以使用Apache BeanUtils比较两个对象并确定它们是否相等(如果它们具有相同的成员变量和分配给它们的值)?如果是,怎么做?如果没有,我是否可以使用其他库 比如:Java 根据对象的成员变量和值比较对象,java,apache-commons,pojo,apache-commons-beanutils,Java,Apache Commons,Pojo,Apache Commons Beanutils,我可以使用Apache BeanUtils比较两个对象并确定它们是否相等(如果它们具有相同的成员变量和分配给它们的值)?如果是,怎么做?如果没有,我是否可以使用其他库 比如: public Boolean theSame(Object object1, Object object2) { //If object1 member variables and values = object2 member variables and values: return true; } 重写类
public Boolean theSame(Object object1, Object object2) {
//If object1 member variables and values = object2 member variables and values:
return true;
}
重写类中的.equals()
方法
@Override
public boolean equals(Object object) {
//If object1 member variables and values = object2 member variables and values:
return true;
}
注意:如果要将对象用作
哈希映射
、哈希表
、或集合
中的键,则还需要重写哈希代码()
方法。可能需要检查此[Comparator]()- commons lang的:使用反射,不是递归的(嵌套对象中的字段不进行相等性测试),可以排除字段
- :这个是递归的
- 将对象转换为字符串并进行比较:implement.toString(),使用公共语言或or。很可能无法处理包含无序集合的对象