首页 > 编程语言 > 详细

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

时间:2019-07-10 14:28:46      阅读:113      评论:0      收藏:0      [点我收藏+]

获取对象中的所有属性

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 比较对象中的内容是否一致

原文:https://www.cnblogs.com/lsys/p/11163606.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!