如何判断同一类型的两个对象的属性值是否相等
程序员文章站
2022-04-09 20:01:42
...
有时候我们需要对两个对象的属性值进行一些比较操作,例如在做一些保存操作时判断是否有属性被修改等。
那么你可以将以下代码进行一些修改作为一个工具类来使用。
其中Pojo为你自己定义的对象类型,根据需求进行修改即可。
public static boolean contrastObj(Object obj1, Object obj2) {
boolean isEquals = true;
if (obj1 instanceof Pojo && obj2 instanceof Pojo ) {
Pojo pojo1 = (Pojo) obj1;
Pojo pojo2 = (Pojo) obj2;
List textList = new ArrayList<String>();
try {
Class clazz = pojo1.getClass();
Field[] fields = pojo1.getClass().getDeclaredFields();
for (Field field : fields) {
PropertyDescriptor pd = new PropertyDescriptor(field.getName(), clazz);
Method getMethod = pd.getReadMethod();
Object o1 = getMethod.invoke(pojo1);
Object o2 = getMethod.invoke(pojo2);
if (!o1.toString().equals(o2.toString())) {
isEquals = false;
textList.add(getMethod.getName() + ":" + "false");
} else {
textList.add(getMethod.getName() + ":" + "true");
}
}
} catch (Exception e) {
}
for (Object object : textList) {
System.out.println(object);
}
}
return isEquals;
}
推荐阅读
-
如何判断当前修改过的datatable的某一列值是否为int型或double类型
-
JS判断两个对象内容是否相等的方法示例
-
Java比较两个对象中全部属性值是否相等的方法
-
JavaScript如何使用运算符和属性判断对象类型的方法总结
-
JS 判断对象中的属性是否都有值
-
JavaScript如何使用运算符和属性判断对象类型的方法总结
-
如何判断当前修改过的datatable的某一列值是否为int型或double类型
-
详解JS 比较两个Json对象的值是否相等的实例_javascript技巧
-
JS判断两个对象内容是否相等的方法示例
-
详解JS 比较两个Json对象的值是否相等的实例_javascript技巧