/**
* 透過反射對比兩個物件是否相等
*
* @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物件
- 比較兩個陣列是否相等陣列
- shell比較兩個字串是否相等字串
- Js 比較兩個物件的鍵名與鍵值是否相等JS物件
- JavaScript 中,如何判斷兩個物件是否相等?JavaScript物件
- python如何比較兩個字串是否相等Python字串
- matlab比較兩個矩陣是否相等Matlab矩陣
- JavaScript判斷兩個變數是否相等JavaScript變數
- js 判斷兩個變數是否相等JS變數
- java 兩個列表的元素是否相等且各自元素數量相等Java
- Java檢測物件是否相等Java物件
- Javascript 判斷物件是否相等JavaScript物件
- 一個比較float是否相等的工具類
- golang中判斷兩個slice是否相等與判斷值下的 陣列是否相等Golang陣列
- JavaScript 專題之如何判斷兩個物件相等JavaScript物件
- 比較兩個table是否相同
- 判斷物件是否相等的方法,==與 isEqual物件
- 判斷陣列裡面的json 物件是否相等,相等則移除陣列JSON物件
- 比較兩個物件是否相同,輸出不同的屬性值(一)物件
- 如何判斷JavaScript中的兩變數是否相等?JavaScript變數
- 透過coca A/B功能比較兩個詞的搭配 對於一詞多義的情況
- linux 中兩個文件怎麼對比內容是否一致Linux
- python3中怎麼比較字串是否相等Python字串
- 透過ASM 反射實現IOCASM反射
- 為什麼判斷物件是否相等, 不建議用 equals ?物件
- 比較兩個陣列中是否有相同的元素陣列
- java stream()流對兩個集合進行比對Java
- 一道Js判斷物件是否相等面試題引發的故事JS物件面試題
- java對過反射呼叫方法Java反射
- 反射-通過反射寫一個通用的設定某個物件的某個屬性為指定的值反射物件
- oracle 比較日期相等Oracle
- PHP對比兩個資料中不同的元素PHP
- 常見物件-判斷一個字串是否對稱案例物件字串
- 透過作業定時同步兩個資料庫資料庫
- Same Tree 比較兩個二叉樹是否完全相同二叉樹
- PostgreSQL如何比較兩個表的定義是否一致SQL
- 比較兩個TABLE的資料是否完全一致
- 判斷一個物件是否為空物件,判斷一個物件中是否有空值物件