我需要比较几个尚未保存的域类对象,但是,我总是从比较中得到错误的结果。事实证明,即使以下比较也将返回false:
new DomainClass().equals(new DomainClass())
由于两者都是全新的对象,因此它们都应具有相同的数据并且彼此相等。不幸的是,equals方法(或==运算符)返回false。还有另一种进行此比较的正确方法吗?
最佳答案
您的代码与此相同:
a = new DomainClass();
b = new DomainClass();
a.equals(b)
因此,只要 a 和 b 没有引用同一对象,测试就必须返回false。
如果要基于值(value)的比较:
遍历各个字段,并将其一一比较
或者在这里检查more formal way of doing it。
关于grails - Grails:比较两个未保存的域类对象总是返回false,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27990266/