【发布时间】:2020-03-05 13:38:10
【问题描述】:
我有以下问题。有两个包含文章的列表。在下面的示例中,结果显示我 false。但是文章是一样的。我认为就是这样,因为这些是不同的对象,如果我在两个列表中添加 article1,它将是 true。
我也尝试过 DeepCollectionEquality.unordered().equals 从这个问题: How can I compare Lists for equality in Dart?
但它也给了我 FALSE。 在我的真实项目中,我有两个包含文章的列表。这些列表没有排序,因此一篇文章可以是一个列表中的第一个,而具有相同 id 和名称的文章可以是另一个列表中的最后一个。但如果两个列表具有相同的文章(具有相同的名称和 ID),则结果应为 true。
var a = List<Article>();
var b = List<Article>();
var article1 = Article(id: "1", name: "Beer");
var article2 = Article(id: "1", name: "Beer");
a.add(article1);
b.add(article2);
print(listEquals(a, b));
【问题讨论】: