gpt4 book ai didi

java - 如何在未实现 equals 方法的两个对象之间进行有意义的比较?

转载 作者:行者123 更新时间:2023-12-03 23:27:18 25 4
gpt4 key购买 nike

我正在编写一个测试用例,我需要对两个未实现 equals 的对象进行有意义的比较。我不想为这些对象编写 equalshashcode 方法。

是否有可以为我执行此操作的 API?

最佳答案

Apache commons-lang 有一个自动 equals 构建器——例如“反射等于”。 API documentation for EqualsBilder .另请注意,有一个 HashCodeBuilder在同一个图书馆。


使用这个库的例子:

static class A {
private int a;
private String b;
A(int a, String b) {
this.a = a;
this.b = b;
}
}

public static void main(String[] args) {
A a1 = new A(123, "Hello World!");
A a2 = new A(321, "Hello!");
A a3 = new A(123, "Hello World!");

System.out.println(EqualsBuilder.reflectionEquals(a1, a2, true));
System.out.println(EqualsBuilder.reflectionEquals(a1, a3, true));
}

输出:

false
true

关于java - 如何在未实现 equals 方法的两个对象之间进行有意义的比较?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7239324/

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