我想编写一个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