Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/353.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/kubernetes/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 根据对象的成员变量和值比较对象_Java_Apache Commons_Pojo_Apache Commons Beanutils - Fatal编程技术网

Java 根据对象的成员变量和值比较对象

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; } 重写类

我可以使用Apache BeanUtils比较两个对象并确定它们是否相等(如果它们具有相同的成员变量和分配给它们的值)?如果是,怎么做?如果没有,我是否可以使用其他库

比如:

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。很可能无法处理包含无序集合的对象