美文网首页
如何判断同一类型的两个对象的属性值是否相等

如何判断同一类型的两个对象的属性值是否相等

作者: 贱小得 | 来源:发表于2016-09-28 10:42 被阅读0次

有时候我们需要对两个对象的属性值进行一些比较操作,例如在做一些保存操作时判断是否有属性被修改等。
那么你可以将以下代码进行一些修改作为一个工具类来使用。
其中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;
}

相关文章

  • C# 相等比较

    引用相等性 判断两个对象是否引用同一基础对象。使用 ReferenceEquals 方法判断: 值相等性 使用 =...

  • Object类中4个常用的方法一:equals()方法

    1、相等与同一如果两个对象具有相同的类型以及相同的属性值,则称这两个对象相等。如果两个引用(地址)对象指的是同一个...

  • js中判断两个参数是否相等的函数

    大概思路,总共分为两种类型 基本类型:直接用===判断 引用类型:先判断构造函数是否相等,再判断属性以及属性值是否...

  • iOS 快看漫画面试整理

    1, 如何判断两个对象相等 先判断是否为nil,然后比较对象的地址(用==),然后判断两个对象是否是同一个类(用i...

  • JavaScript 相等性判断

    1. 全等(===)比较规则 如果两个值类型不相等,则它们不相等。 值类型相等时才去判断它们的值是否相等。 NaN...

  • Python is 与 == 的区别

    打印结果 is是用于判断 a b 是否指向同一个对象==是用于判断 a b 的值是否相等

  • == 和 equals

    ==: 用来判断两个对象的地址是否相等. 换句话说就是看这两个对象是不是同一个对象如果是基本数据类型则是比较值, ...

  • Dart 重写==实现对象判断

    is is 关键字为类型检查关键字 重写== 下面案例运用了is关键字,检查类型,并以判断属性值是否相等来检查对象...

  • 前端面试题及答案2

    1. == 和=== 的区别? == 是判断值是否相等 === 是判断值和类型是否相等 结果: 2...

  • ==与equals

    == : 它的作用是判断两个对象的地址是不是相等。即,判断两个对象是不是同一个对象(基本数据类型==比较的是值,引...

网友评论

      本文标题:如何判断同一类型的两个对象的属性值是否相等

      本文链接:https://www.haomeiwen.com/subject/xzphyttx.html