我无法理解 iterable
的 whereType
是如何工作的。
我有以下示例,我不知道为什么会这样。有这个代码:
List<dynamic> list = ["SomeString", 12];
print(list);
print(list.whereType<String>());
print(list.where((item) => item is String));
输出是:
[SomeString, 12]
(SomeString, 12)
(SomeString)
我希望第二次打印时只有 String。有人可以向我解释为什么我错了吗?
最佳答案
我认为这是不一致的,因为 whereType
是为 Dart2 设计的,但 Dart2 并不完整。
有一个看起来很相似的未决问题
dart --reify-generic-functions my_script.dart
应该让它工作
关于dart - Iterable 的 whereType 方法行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49144852/