跳到主要内容

unnecessary_to_list_in_spreads

在展开中不必要的 'toList' 用法。

描述

#

当在对列表应用展开运算符之前使用 toListIterable 转换为 List 时,分析器会产生此诊断。展开运算符可以应用于任何 Iterable,因此这种转换是不必要的。

示例

#

以下代码产生此诊断,因为在 map 的结果上调用了 toList,而 map 的结果是一个可以直接应用展开运算符的 Iterable

dart
List<String> toLowercase(List<String> strings) {
  return [
    ...strings.map((String s) => s.toLowerCase()).toList(),
  ];
}

常见修复方法

#

移除对 toList 的调用

dart
List<String> toLowercase(List<String> strings) {
  return [
    ...strings.map((String s) => s.toLowerCase()),
  ];
}