gpt4 book ai didi

java - 检查对象列表是否相等,无需在其 List 属性中进行顺序检查

转载 作者:行者123 更新时间:2023-12-01 17:53:49 24 4
gpt4 key购买 nike

先决条件:我正在将复杂的 JSON 反序列化为数据类。目标类有一些复杂的层次结构。

我有一个对象列表列表。其中 ServiceFeature 如下(它在 kotlin 中,但并不重要):

data class ServiceFeature(
val flagValue: String?,
val effectiveFlagValue: String?,
val name: String?,
val attributes: List<Attribute?>?
)

如您所见 ServiceFeature有一个“属性”属性,其中包括另一个“属性”列表。要点是列表中的属性可以按任何顺序排列。有没有可靠的方法来比较 ServiceFeatures 的两个列表没有来自 List<Attribute?> 的订单检查

我正在尝试使用assertJ找到解决方案。

最佳答案

如果顺序对您的属性并不重要并且它们是唯一的(即可能没有相同类型的多个属性),您可以将结构更改为 Set<Attribute?>相反,只需使用常规比较即可。

如果您想保留顺序但比较(唯一)属性,您可以在比较时将它们转换为设置,请参阅 Easiest way to convert a List to a Set in Java

关于java - 检查对象列表是否相等,无需在其 List 属性中进行顺序检查,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47160677/

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