作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
先决条件:我正在将复杂的 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/
我是一名优秀的程序员,十分优秀!