小编max*_*max的帖子

Dart 将无序列表与对象进行比较

我有以下问题。有两个包含文章的列表。在下面的示例中,结果打印false。但文章都是一样的。我认为是这样,因为这些是不同的对象,如果我在两个列表中添加article1,它将是true

我还从这个问题中尝试了 DeepCollectionEquality.unordered().equals: How can I Compare Lists for equality in Dart?

但它也给了我错误的回报。在我的实际项目中,我有两个包含文章的列表。这些列表没有排序,因此一篇文章可以是一个列表中的第一篇,而具有相同 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));
Run Code Online (Sandbox Code Playgroud)

compare list dart flutter

5
推荐指数
1
解决办法
1532
查看次数

Flutter - Sembast 数据库插入对象列表

我即将在 Flutter 中使用数据库“Sembast”。具有 string 和 int 等数据类型的简单对象可以正常工作。但是,使用列表时会出现问题。

我创建了一个示例并针对以下教程进行了自我介绍:https : //resocoder.com/2019/04/06/flutter-nosql-database-sembast-tutorial-w-bloc/ 在我的示例中,有水果和树叶作为对象。一个水果包含一个叶子列表。

class Fruit {
  final String id;
  final String name;
  final bool isSweet;
  final List<Leaves> leaves;
...
}

class Leaves {
  final String id;
  final String name;
...
}

//Create a sample object
var leaveOne = Leaves(id: "1", name: "leaveOne");
var leaveTwo = Leaves(id: "2", name: "leaveTwo");
var leaveThree = Leaves(id: "3", name: "leaveThree");

var leavesList = List<Leaves>();
leavesList.add(leaveOne);
leavesList.add(leaveTwo);
leavesList.add(leaveThree);

var fruit = Fruit(id: "1", name: "Apple", isSweet: …
Run Code Online (Sandbox Code Playgroud)

database dart flutter flutter-dependencies

3
推荐指数
1
解决办法
3944
查看次数

标签 统计

dart ×2

flutter ×2

compare ×1

database ×1

flutter-dependencies ×1

list ×1