collection_methods_unrelated_type
参数类型 '{0}' 与 '{1}' 不相关。
描述
#当核心库中的某些方法使用不合适的参数类型调用时,分析器会生成此诊断。这些方法的参数类型不够具体,无法通过正常的类型检查捕获错误。
检查的参数包括:
Iterable<E>.contains
方法的参数应与E
相关List<E>.remove
方法的参数应与E
相关Map<K, V>.containsKey
方法的参数应与K
相关Map<K, V>.containsValue
方法的参数应与V
相关Map<K, V>.remove
方法的参数应与K
相关Map<K, V>.[]
方法的参数应与K
相关Queue<E>.remove
方法的参数应与E
相关Set<E>.lookup
方法的参数应与E
相关Set<E>.remove
方法的参数应与E
相关
示例
#以下代码会生成此诊断,因为 contains
方法的参数是 String
类型,它无法赋值给列表 l
的元素类型 int
dart
bool f(List<int> l) => l.contains('1');
常见修复方法
#如果元素类型是正确的,则更改参数使其具有相同的类型
dart
bool f(List<int> l) => l.contains(1);
如果参数类型是正确的,则更改元素类型
dart
bool f(List<String> l) => l.contains('1');