我有一个包含不同部门和员工的公司对象。我已成功序列化我的对象并将其再次加载到我的程序中。
现在我想测试这两个对象在结构上是否相等。 java 是否为我提供了比较这些对象的工具?
我应该补充一点,我的对象有一个充满其他对象的列表。
或者我必须为此编写自己的测试吗?
编辑:
class test{
public int a
}
test t = new test();
t.a = 1;
test t1 = new test();
t1.a = 1;
现在我想根据值比较 t 和 t1 是否相同。
最佳答案
您可以重写 Test
类中的 equals
方法,如下所示:
public boolean equals(Object other) {
if (other == null) {
return false;
}
if (!(other instanceof Test)) {
return false;
}
return this.a == ((Test) other).a;
}
另外:当重写 equals 时,您也应该始终重写 hashCode 方法。请参阅此引用以了解原因:Why always override hashcode() if overriding equals()?
关于java - 测试两个对象在结构上是否相等?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16266229/