gpt4 book ai didi

java - 我想比较两个相似的对象结构并列出差异

转载 作者:行者123 更新时间:2023-12-02 10:08:49 24 4
gpt4 key购买 nike

我有两个复杂的对象。我想比较两个相似的对象结构并列出差异。我在所有论坛都搜索过没有正确的解决方案。

每个人都在建议反射方法。反射方法对我没有帮助,我尝试过。我的对象结构太复杂了。

下面是我的对象结构。列表中包含的对象在其他列表中的顺序可能不同。一个列表可能有该对象,另一个对象可能没有该列表。

结构:

对象
-场
-场
-场
列表
-对象
-对象
-对象
-列表
-对象
-场
-场
-对象
-场
-场
-场
-场
-列表
-对象
-场
-场
-对象
-场
-字段

最佳答案

反射API

我仍然建议查看 Java Reflection 。请参阅Wikipedia

例如,如果属性本身就是对象,则可以使用 Reflection 进行递归调用,从而通过相同的方法输入它。

public void determineObjectStructure (Object o) {

Field[] fields = o.getClass().getDeclaredFields();
for (Field field : fields) {
// Check Type of field

// If not primitive -> determineObjectStructure()

// create Representation
}
}

然后你可以手动创建一个“复杂对象结构”表示,其中包含例如包含以下内容的列表:

levelInComplexObject | object

最终列表可以用于与从不同对象创建的列表进行比较,并且可以在不同的组织级别上比较它们的结构。

关于java - 我想比较两个相似的对象结构并列出差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55145917/

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