/**
* 透過反射對比兩個物件是否相等
*
* @param obj1 obj1
* @param obj2 obj2
* @return boolean
* @throws IllegalAccessException e
*/
public static boolean propertiesAreEqual(Object obj1, Object obj2) throws IllegalAccessException {
if (obj1 == obj2) {
return true;
}
if (obj1 == null || obj2 == null) {
return false;
}
if (obj1.getClass() != obj2.getClass()) {
return false;
}
Field[] fields = obj1.getClass().getDeclaredFields();
for (Field field : fields) {
field.setAccessible(true); // 使私有屬性也可以訪問
Object val1 = field.get(obj1);
Object val2 = field.get(obj2);
if (!Objects.equals(val1, val2)) {
return false;
}
}
return true;
}
透過反射對比兩個物件是否相等
相關文章
- js判斷兩個物件是否相等JS物件
- 比較兩個陣列是否相等陣列
- 對比兩個圖片是否相等用什麼方法?
- Js 比較兩個物件的鍵名與鍵值是否相等JS物件
- matlab比較兩個矩陣是否相等Matlab矩陣
- python如何比較兩個字串是否相等Python字串
- JavaScript 中,如何判斷兩個物件是否相等?JavaScript物件
- JavaScript判斷兩個變數是否相等JavaScript變數
- java 兩個列表的元素是否相等且各自元素數量相等Java
- 一個比較float是否相等的工具類
- golang中判斷兩個slice是否相等與判斷值下的 陣列是否相等Golang陣列
- 判斷陣列裡面的json 物件是否相等,相等則移除陣列JSON物件
- 比較兩個table是否相同
- 比較兩個物件是否相同,輸出不同的屬性值(一)物件
- 如何判斷JavaScript中的兩變數是否相等?JavaScript變數
- python3中怎麼比較字串是否相等Python字串
- 透過coca A/B功能比較兩個詞的搭配 對於一詞多義的情況
- 為什麼判斷物件是否相等, 不建議用 equals ?物件
- 透過ASM 反射實現IOCASM反射
- 比較兩個陣列中是否有相同的元素陣列
- java stream()流對兩個集合進行比對Java
- 一道Js判斷物件是否相等面試題引發的故事JS物件面試題
- 判斷一個物件是否為空物件,判斷一個物件中是否有空值物件
- 如果透過python的sdk pymilvus 判斷一個 collection 是否存在?Python
- java高效能反射及效能對比Java反射
- 【C#】反射的用法及效率對比C#反射
- 輸入兩個長度相同的字串,比較兩個數在相同位置的字元是否相同字串字元
- 【C語言】ax²+bx+c=0求解(兩個相等根/不相等根/無實根)C語言
- 通過反射獲取私有內部類物件反射物件
- 透過反射注入去除Spire.Office的PDF水印反射
- data (){..} 返回一個物件或者不返回物件,兩種寫法的差異比較物件
- .NET CORE下最快比較兩個檔案內容是否相同的方法
- Vue與React兩個框架的粗略區別對比VueReact框架
- python 兩個資料夾裡的檔名對比Python
- elementui表單驗證 對比兩個表單大小UI
- C# 透過反射(Reflection)呼叫不同名泛型方法C#反射泛型
- 比較兩個List物件,找出新增、刪除、更改的條目物件
- 寫個方法判斷陣列物件中是否存在某個物件陣列物件