提问人:Amit 提问时间:3/9/2023 最后编辑:Amit 更新时间:3/9/2023 访问量:69
RecursiveComparisonDifferenceCalculator 的 determineDifferences 方法无法比较 100 个对象的列表
determineDifferences method of RecursiveComparisonDifferenceCalculator not able to compare the list of 100 objects
问:
我希望你能给我一些建议,因为我对 Java 世界很陌生,并尝试使用 assertj-core 递归比较 API 进行对象之间的深度比较,如下所示。但是,当我们传递自定义对象的集合进行深度比较时,当它们的数量很大时,例如,即使是 50 或 100,比较也要花费很长时间,这似乎不起作用。
让我与大家分享一些要查看的代码块。
class Owner
{
String id;
String name;
ArrayList<Assignment> assignments;
Owner(String id,String name, ArrayList<Assignment> assignments)
{
this.id = id;
this.name = name;
this.assignments = assignments;
}
}
class Assignment
{
String assignmentName;
String assignmentDescription;
Assignment(String assignmentName, String assignmentDescription)
{
this.assignmentName = assignmentName;
this.assignmentDescription = assignmentDescription;
}
}
从上面的模型中,我生成了一个列表 100 个所有者,每个所有者有 20 个分配。同样,另一个列出了 100 个所有者,每个所有者有 20 个分配。
现在,当我开始将它们与assertj RecursiveComparisonDifferenceCalculator进行比较时,比较需要很长时间。
下面是我必须获取两个对象之间差异的示例代码。
var config = RecursiveComparisonConfiguration();
var difference = new RecursiveComparisonDifferenceCalculator.determineDifferences(list1owners, list2owners, config);
我尝试按如下方式设置 RecursiveComparisonConfiguration 对象的属性,但它似乎不起作用,并且比较有点卡住了。
config.ignoreCollectionOrder(false);
不确定,但我认为上面的设置会使列表比较以明智地工作索引,例如将列表的第一个对象与另一个列表的第一个对象进行比较等等,但这似乎也不起作用,并且比较仍然需要很长时间。
请指导你们可能有的所有可能的建议/解决方案,我会尽力遵循它们。
答: 暂无答案
评论