gpt4 book ai didi

java - 测试两个对象在结构上是否相等?

转载 作者:行者123 更新时间:2023-12-02 12:49:46 26 4
gpt4 key购买 nike

我有一个包含不同部门和员工的公司对象。我已成功序列化我的对象并将其再次加载到我的程序中。

现在我想测试这两个对象在结构上是否相等。 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/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com