比較兩個物件是否相同,輸出不同的屬性值(一)
比較兩個物件是否相同,輸出不同的屬性值
物件:
@Data
@Getter
@Setter
@NoArgsConstructor
@AllArgsConstructor
public class User {
private int level;
private String name;
}
比較兩個物件,輸出不同的欄位
User user1 = new User(1,"wzx");
User user2 = new User(2,"wjg");
String oldContent = "舊內容:";
String newContent = "新內容:";
Field[] fields1 = user1.getClass().getDeclaredFields();
Field[] fields2 = user2.getClass().getDeclaredFields();
for (int i = 0; i <fields1.length ; i++) {
fields1[i].setAccessible(true);
fields2[i].setAccessible(true);
if(!fields1[i].get(user1).equals(fields2[i].get(user2))){
oldContent+=(fields1[i].getName()+":"+fields2[i].get(user1)+";");
newContent+=(fields2[i].getName()+":"+fields2[i].get(user2)+";");
}
}
System.out.println(oldContent);
System.out.println(newContent);
輸出:
舊內容:level:1;name:wzx;
新內容:level:2;name:wjg;
此處只是通過反射獲取物件的欄位和值進行了一個簡單地比較,嚴謹的還要判斷是否為空和將欄位改為漢字最好,這裡只是寫了一個大概思路。
相關文章
- 比較兩個table是否相同
- 輸入兩個長度相同的字串,比較兩個數在相同位置的字元是否相同字串字元
- Js 比較兩個物件的鍵名與鍵值是否相等JS物件
- 比較兩個陣列中是否有相同的元素陣列
- 比較檔案是否相同,(比較MD5值)
- Java淺複製大揭秘:如何輕鬆複製兩個不同物件的某些相同屬性Java物件
- .NET CORE下最快比較兩個檔案內容是否相同的方法
- 合併陣列物件中相同的屬性值陣列物件
- 比較兩個陣列是否相等陣列
- matlab比較兩個矩陣是否相等Matlab矩陣
- python如何比較兩個字串是否相等Python字串
- 編寫js比較兩個數的最大值(使用者依次輸入兩個數,最後彈出最大的那個值)JS
- 問題:兩個物件值相同(x.equals(y) == true),但是可能存在hashCode不同嗎?物件
- 關於JS陣列中相同物件屬性值歸類方法的一點思考JS陣列物件
- C# 類相同屬性賦值C#賦值
- vue監聽input是否為空(監聽值為物件某個屬性)Vue物件
- 透過反射對比兩個物件是否相等反射物件
- javascript訪問不同物件的速度比較JavaScript物件
- 比較兩個檔案,求出不同的內容,A-B
- 如何比較兩個資料庫表結構的不同資料庫
- 一個比較float是否相等的工具類
- 判斷一個物件是否為空物件,判斷一個物件中是否有空值物件
- data (){..} 返回一個物件或者不返回物件,兩種寫法的差異比較物件
- C#獲取某個物件的屬性值C#物件
- 兩個coca略有不同詞頻檔案 比較
- js對陣列中相同物件元素進行去重,裡面物件相同id,其他不同屬性進行文字疊加JS陣列物件
- C# 實現一個基於值相等性比較的字典C#
- JDK是如何判斷兩個物件是否相同的?判斷的流程是什麼?JDK物件
- js判斷物件裡面是否有某個屬性JS物件
- 兩個相同路徑、不同包、相同名稱類載入
- Java 判斷JSONObject是否包含含有某個屬性值(key)JavaJSONObject
- 比較兩個List物件,找出新增、刪除、更改的條目物件
- 物件屬性值賦給變數物件變數
- 前端面試題,寫出一個快速找出兩個陣列不同值的函式。前端面試題陣列函式
- JavaScript 比較相同的字元返回falseJavaScript字元False
- Javascript 如何判斷物件為空 {},以及是否包含某個屬性?JavaScript物件
- 字型的粗細的屬性是用哪一個?它有哪些屬性值?
- 不用做任何比較判斷運算子找出兩個整數中的較大的值