Java 比较对象中的内容是否一致

Posted lsys

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java 比较对象中的内容是否一致相关的知识,希望对你有一定的参考价值。

获取对象中的所有属性

private static Field[] getAllFields(Object object) 
     Class clazz = object.getClass();
     List<Field> fieldList = new ArrayList<>();
     while (clazz != null) 
         fieldList.addAll(new ArrayList<>(Arrays.asList(clazz.getDeclaredFields())));
         clazz = clazz.getSuperclass();
     
     Field[] fields = new Field[fieldList.size()];
     fieldList.toArray(fields);
     return fields;
 

比较对象中的内容是否一致

private StringBuilder compareContract(Object obj, Object obj2) 
    StringBuilder stringBuilder = new StringBuilder();
    try 
        Field[] fields = getAllFields(obj);
        for (int j = 0; j < fields.length; j++) 
            fields[j].setAccessible(true);
            // 字段值
            if (!fields[j].get(obj).equals(fields[j].get(obj2))) 
                stringBuilder.append(obj2.get字段());
                stringBuilder.append(fields.getName()).append("、"));
            
        
     catch (IllegalAccessException e) 
        e.printStackTrace();
    
    return stringBuilder;

以上是关于Java 比较对象中的内容是否一致的主要内容,如果未能解决你的问题,请参考以下文章

Android 面试题 Java 基础

java中的equals和==

Java 实例 – 字符串比较

equals和==的区别

java中equals使用方法

第三章 - CPU缓存结构和java内存模型