跳到主内容

prefer_iterable_wheretype

使用 'whereType' 选择给定类型的元素。

描述

#

当使用方法 Iterable.where 根据元素类型进行过滤时,分析器会生成此诊断信息。

示例

#

以下代码会生成此诊断信息,因为方法 where 用于仅访问可迭代对象中的字符串。

dart
Iterable<Object> f(Iterable<Object> p) => p.where((e) => e is String);

常见修复方法

#

重写代码以使用 whereType

dart
Iterable<String> f(Iterable<Object> p) => p.whereType<String>();

这还可能允许您收紧代码中的类型或删除其他类型检查。