比較兩個物件是否相同,輸出不同的屬性值(一)
比較兩個物件是否相同,輸出不同的屬性值
物件:
@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中兩個物件間的屬性值複製,比較,轉為map方法實現Java物件
- Same Tree 比較兩個二叉樹是否完全相同二叉樹
- Java淺複製大揭秘:如何輕鬆複製兩個不同物件的某些相同屬性Java物件
- 比較兩個mysql資料庫裡面的表是否相同的一個校驗指令碼MySql資料庫指令碼
- .NET CORE下最快比較兩個檔案內容是否相同的方法
- 合併陣列物件中相同的屬性值陣列物件
- 比較兩個陣列是否相等陣列
- shell比較兩個字串是否相等字串
- 使用java反射技術完成物件所有屬性值的輸出Java反射物件
- 編寫js比較兩個數的最大值(使用者依次輸入兩個數,最後彈出最大的那個值)JS
- PostgreSQL如何比較兩個表的定義是否一致SQL
- 比較兩個TABLE的資料是否完全一致
- 比較輸入兩個版本號大小
- python如何比較兩個字串是否相等Python字串
- matlab比較兩個矩陣是否相等Matlab矩陣
- 關於JS陣列中相同物件屬性值歸類方法的一點思考JS陣列物件
- 問題:兩個物件值相同(x.equals(y) == true),但是可能存在hashCode不同嗎?物件
- C# 類相同屬性賦值C#賦值
- vue監聽input是否為空(監聽值為物件某個屬性)Vue物件
- 透過反射對比兩個物件是否相等反射物件
- oracle pl/sql 迴圈比較集合元素是否相同OracleSQL
- 比較兩個檔案,求出不同的內容,A-B
- 如何比較兩個資料庫表結構的不同資料庫
- javascript訪問不同物件的速度比較JavaScript物件
- 一個比較float是否相等的工具類
- 判斷一個物件是否為空物件,判斷一個物件中是否有空值物件
- data (){..} 返回一個物件或者不返回物件,兩種寫法的差異比較物件
- 兩個coca略有不同詞頻檔案 比較
- C#獲取某個物件的屬性值C#物件
- C# 實現一個基於值相等性比較的字典C#
- js使用id屬性值就可以引用一個物件JS物件
- 兩個相同路徑、不同包、相同名稱類載入
- js對陣列中相同物件元素進行去重,裡面物件相同id,其他不同屬性進行文字疊加JS陣列物件