看板 java 關於我們 聯絡資訊
最近遇到一個問題,就是我有一個包含許多欄位的物件 欄位可能又是另外一個物件或甚至是 List 不過在比對上其實有點傷腦筋...想了很久不知道有沒有比較好的方法... 不知道各位大大有沒有處理過比對這些物件欄位的經驗 除了暴力法一個一個欄位比對外,是否有什麼方法可以得知 兩個物件的哪些欄位被異動過,且可以知道異動前和異動後的資料分別為何 goo來goo去 都是比較 Java 物件是否一樣的資料....@@ -- 這種需求感覺應該會常常遇到才對....? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 210.71.217.243
sometimes4:用java reflection... 04/13 17:28
No:你是比對欄位之外,也要找出各別物件的各個欄位的異動歷程嗎? 04/13 17:29
No:比對欄位的話就是1樓說的反射,可以做個class幫你一一遞迴比對 04/13 17:32
hate9527:Overridde Comparable hash code 04/13 19:41
awert:請問可以解說清楚一點嘛? 異動前後是誰的異動 ? 哪兩個obj? 04/13 20:07
luoqr:應該說是兩個相同物件 裡面的欄位值可能不一樣 要比較差異點 04/13 20:33
luoqr:這裡說的相同 指的是class相同 04/13 20:35
luoqr:我也想過用反射 不過似乎不好做且速度慢 不知道有沒更好方式 04/13 20:37
awert:如果是這樣,就用別人寫好的。 apache common有equalBuilder 04/13 22:59
awert:話說reflection也沒有太慢,除非真的需要,不用考慮這個 04/13 23:02
awert:"這個"指的是reflection太慢 04/13 23:03
luoqr:感謝a大 我來看看equalBuilder~~:D 04/14 02:27