我想編寫一個java程序,它必須找到不同實例的兩個對象之間的區別。我已經使用equals()和comparator來實現它。但在這裏我想找到差異,並且必須以日誌格式顯示。java中2個對象之間的區別
我的程序低於:
public class A implements Comparator<A>{
private int id1, id2;
/* setters and getters for id1 and id2 */
public boolean equals(Object arg0) {
if (this.getClass() != arg0.getClass()) {
return false;
}
if (((A) arg0).getId1() == this.id1 && ((A) arg0).getId2() == this.id2) {
return true;
}
return false;
}
public static void main(String args[]) {
A obj1 = new A();
obj1.id1 = 10;
obj1.id2 = 20;
A obj2 = new A();
obj2.id1 = 30;
obj2.id2 = 20;
/*
* equals comparison
*/
if (obj1.equals(obj2)) {
System.out.println("EQUALS");
} else {
System.out.println("NOT EQUALS");
}
}
請任何機構可以告訴我如何我能找到的差異,並表明,在日誌記錄格式。
謝謝。
對於每個屬性,比較。對於每個差異,記錄。生成值的列表(或列表
是否要比較每個對象的所有屬性或比較對象是否是不同的實例?如果要比較的每個屬性試試這個[示例](http://stackoverflow.com/questions/10927781/is-there-a-way-to-replace-all-occurrences-of-a-string-in-一個列表/ 10928498#10928498)如果你想做第二個嘗試使用'hashCode()'。 – Crazenezz 2012-07-06 06:15:09