在Flutter中比较不同类内的字段

xzv2uavs  于 2023-03-24  发布在  Flutter
关注(0)|答案(2)|浏览(172)

我试图检查一个类的id是否已经存在于另一个类中,例如:

Class pin{
String id;
int amount;
}

Class pinCol{
String id;
String name;
}

这仅仅是示出存在两个类的示例,这两个类都具有ID值,但是其他值不同。
现在我想看看第一个的新id是否仍然与第二个中的id相同,而不删除所有值并仅替换它们。例如,我想看看pins中的id是否仍然与pinCol中的id相同,我想添加的任何新id以及pinCol中存在的任何id,而不是我想从pinCol中删除的pins中的id

9lowa7mx

9lowa7mx1#

假设pinspin对象的列表,pinColspinCol对象的列表,您可以这样做以删除所有没有id的pinCol,它在引脚列表中:

pinCols.removeWhere((pinCol) => !pins.any((pin) => pin.id == pinCol.id));
zed5wv10

zed5wv102#

你想达到什么目标

  • 必须使用Extend,Class“pin”到“pinCol”。

如果你必须匹配这个值,那么键名应该是不同的,否则它会被覆盖。

class pin {
  final String id = "1";
  final int amount = 2;
}

class pinCol extends pin {
  String id1 = '1';
  String name1 = '2';
  pinCol({id, amount});
}

void main() {
  var pincol = pinCol();
  if(pincol.id == pincol.id1){
    print("Value Match");
  }
}

如果两个类键名相同,则值将被覆盖。如下例所示

示例

class pin {
  final String id = "1";
  final int amount = 2;
}

class pinCol extends pin {
  String id = '2';
  String name1 = 'Nitin';
  pinCol({id, amount});
}

void main() {
  var pincol = pinCol();
   print(pincol.id); // Result => 2
}

也许对你有帮助

相关问题