【发布时间】:2019-11-30 03:02:32
【问题描述】:
根据标题,我如何通过对象字段值搜索对象的“集合”。以下是不正确的代码,但希望能给出想法。我能找到的最接近的是How to search for an object in List<object> having its field value,但似乎并不适用。
class MyClass {
final String a;
final int b;
final double c;
MyClass({this.a, this.b, this.c});
}
class Check{
Set<MyClass> mSet = new Set<MyClass>();
contains() {
mSet.add(new MyClass(a: "someString1", b:3, c:2.0));
mSet.add(new MyClass(a: "someString2", b:1, c:3.0));
mSet.add(new MyClass(a: "someString3", b:2, c:1.0));
//following is not correct, but to get the idea...
print(mSet.contains((item) => item.a == "someString1"));
//need to return true
}
}
>FALSE
同样的问题可能适用于 Set.where、Set.remove ...等,例如,如果我添加
var b = mSet.where((item) => item.a == "someString1");
b 产生一个具有 所有 Set 值的迭代。
【问题讨论】: