Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/wix/2.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对象并根据比较生成事件的最佳方法是什么_Java - Fatal编程技术网

比较两个复杂java对象并根据比较生成事件的最佳方法是什么

比较两个复杂java对象并根据比较生成事件的最佳方法是什么,java,Java,我需要比较两个复杂的对象,例如: Policy{ Private Vehicle-information info1; private Driver-information info2; ... } 我有两个这个类的填充实例。我想比较这些实例,根据差异,我需要在UI中显示它们,并使用一些标志标记颜色 比较这些对象的最佳方法是什么。我们能否使用XML实现它,因为java代码将非常复杂 重写策略类中的and方法。然后可以检查是否相等,如: if(object1.equals(object2

我需要比较两个复杂的对象,例如:

Policy{

 Private Vehicle-information info1;
 private Driver-information info2;
 ...
}
我有两个这个类的填充实例。我想比较这些实例,根据差异,我需要在UI中显示它们,并使用一些标志标记颜色

比较这些对象的最佳方法是什么。我们能否使用
XML
实现它,因为java代码将非常复杂

重写
策略
类中的and方法。然后可以检查是否相等,如:

if(object1.equals(object2)) { 
  // do something
}
如果需要对对象进行排序,请实现并重写该方法。

重写您的
策略
类中的和方法。然后可以检查是否相等,如:

if(object1.equals(object2)) { 
  // do something
}

如果需要对对象进行排序,请实现并重写该方法。

一个解决方案:使用Jackson将对象序列化为JSON,然后使用:它是JSON补丁的Java实现,也可以将两个JSON之间的差异作为JSON补丁生成


这意味着你可以知道发生了什么变化,发生了什么。由于这是JSON,您可以将结果发送到浏览器,并通过一些JavaScript代码轻松处理。不像XML

一个解决方案:使用Jackson将对象序列化为JSON,然后使用:它是JSON补丁的Java实现,也可以将两个JSON之间的差异作为JSON补丁生成


这意味着你可以知道发生了什么变化,发生了什么。由于这是JSON,您可以将结果发送到浏览器,并通过一些JavaScript代码轻松处理。不像XML

它们有多复杂?你已经有某种序列化格式了吗?如果是JSON,我有一个解决方案……它们有多复杂?你已经有某种序列化格式了吗?如果是JSON,我有一个解决方案……是的,有:突出显示差异!在UI中,它这样说。。。不要那么迟钝以致于不去推断。equals()是一个二元契约,OP希望解释差异。equals()不能这样做。请看我的答案,看看我的意思,以及OP的确切意思。这里有:突出显示差异!在UI中,它这样说。。。不要那么迟钝以致于不去推断。equals()是一个二元契约,OP希望解释差异。equals()无法做到这一点。请看我的答案,了解我的意思,以及OP肯定意味着什么感谢创意,但在这种情况下,也会出现复杂的if-else条件,因为我的场景包括复杂对象与结果的比较,这取决于感谢创意,但在这种情况下,也会出现复杂的if-else条件,因为我的场景包含复杂的对象比较,结果取决于此