インスタンスが異なる2つのオブジェクトの違いを見つける必要があるJavaプログラムを書きたいと思います。equals() とコンパレーターを使用して実装しました。しかし、ここでは違いを見つけたいので、それをログ形式で表示する必要があります。
私のプログラムは以下です:
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");
}
}
違いを見つけてログ形式で表示する方法を教えてください。
ありがとう。