跳到主要內容

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()),
  ];
}