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;
}


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM