当前位置: 首页 > 知识库问答 >
问题:

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

阎德业
2023-03-14

我有一个公司对象与不同的部门和员工。我已经成功地序列化了我的对象,并将它再次加载到我的程序中。

现在我想测试一下这两个对象在结构上是否相等。java是否为我提供了一个比较这些对象的工具?

我应该补充一点,我的对象有一个用其他对象填充的列表。

还是我必须为此编写自己的测试?

编辑:

class test{

public int a

}
test t = new test();
t.a = 1;

test t1 = new test();
t1.a = 1;

现在我想比较一下t和t1,如果它们的值相同的话。

共有1个答案

汪修诚
2023-03-14

可以重写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方法。请参阅此参考以了解为什么:如果重写等于(),为什么总是重写hashcode()?

 类似资料:
  • 问题内容: 如何检测两个Golang net.IPNet对象之间是否存在交集? 也就是说,如何检查 双方 是否第一网络子网中的第二个的 OR 如果第二网络是第一个子网。 Go是否提供了可用于此特定任务的实用程序功能? 请参阅下面的测试代码。 在Go Playground 上运行 问题答案: 如果(正如您的测试用例所暗示的那样)您不关心哪一面包含哪一面,而只是担心有重叠,则这足够了。

  • 问题内容: 我正在寻找一个JSON解析库,该库支持比较两个JSON对象(忽略子顺序),特别是对从Web服务返回的JSON进行单元测试。 任何主要的JSON库都支持吗?org.json库仅进行参考比较。 问题答案: 作为一般的体系结构要点,我通常建议不要让对特定序列化格式的依赖性超出存储/网络层的范围。因此,我首先建议你考虑测试自己的应用程序对象之间的相等性,而不是它们的JSON表现形式。 话虽如此

  • 本文向大家介绍检查两个StringBuilder对象在C#中是否相等,包括了检查两个StringBuilder对象在C#中是否相等的使用技巧和注意事项,需要的朋友参考一下 要检查两个StringBuilder对象是否相等,代码如下- 示例 输出结果 这将产生以下输出- 示例 让我们看另一个例子- 输出结果 这将产生以下输出-

  • 问题内容: 在java中如何比较两个对象是否相等?何时使用equals和hashcode? 问题答案: 理论(针对语言律师和数学倾向者): (javadoc)必须定义一个等价关系(它必须是自反的,对称的和可传递的)。另外,它必须是一致的(如果未修改对象,则它必须保持返回相同的值)。此外,必须始终返回false。 (javadoc)也必须是一致的(如果未根据修改对象equals(),则它必须保持返回

  • 我有一个Java类,下面是一个示例:

  • 我有两个arraylist。employee类和user类的ArrayList。employee类将name、age、address作为字段。用户类将名称、年龄、地址作为字段。下面是两个列表 要检查用户是否和员工的地址相同。如果用户没有地址,则从员工处复制。