Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/apache/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
比较java中的pojo对象,以确定基于所有减去少数字段的相等性_Java - Fatal编程技术网

比较java中的pojo对象,以确定基于所有减去少数字段的相等性

比较java中的pojo对象,以确定基于所有减去少数字段的相等性,java,Java,我有一个pojo类,它有30个成员变量。我需要根据27个成员变量的值检查这个类的两个实例是否相等。如果您不介意花费更多的内存和cpu时间来比较这27个成员,那么最好使用一个json转换器将pojo模型转换为json字符串,并比较这两个结果字符串 pojo模型中的集合也可能会得到精确的比较,IDE自动生成的代码无法正确处理这一点 犯人。当出现问题时,您需要一个json格式化程序和diff工具进行调试。“愚蠢”但严肃的解决方案-使用IDE。像IntelliJ和Eclipse这样的大多数IDE都会很乐

我有一个pojo类,它有30个成员变量。我需要根据27个成员变量的值检查这个类的两个实例是否相等。如果您不介意花费更多的内存和cpu时间来比较这27个成员,那么最好使用一个json转换器将pojo模型转换为json字符串,并比较这两个结果字符串

pojo模型中的集合也可能会得到精确的比较,IDE自动生成的代码无法正确处理这一点


犯人。当出现问题时,您需要一个json格式化程序和diff工具进行调试。

“愚蠢”但严肃的解决方案-使用IDE。像IntelliJ和Eclipse这样的大多数IDE都会很乐意为您生成这些代码。查看或使用
反射
,但我认为在这种情况下这不是一个好主意。好的,您将编写更少的代码,但会增加复杂性@BenjaminGruenbaum是对的。@BenjaminGruenbaum这个解决方案确实有效,是“Venkat Subramaniam”会称之为“IDE呕吐”的一件事:):)如果在
.equals
中有一种情况需要进行反射,那么就是当您有27个字段时。我只是不想这样做,因为打字很弱。OP没有说他是否不想输入那么多比较,或者在写了比较后对执行比较有异议。第一种是懒惰;大概这就是情况所需要的,即使是一个打字速度慢的打字员,也需要多长时间?第二个问题是计算机在这种情况下必须做的事情,没有什么可以反对的。我觉得我不明白他的问题是什么。