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