toList()
- это метод, вызываемый для нескольких типов объектов, он собирает все данные из потока данных (или существующего List
) и создает новый объект List, содержащий данные.
as List
это способ сообщить, что данный объект (часто dynamic
) на самом деле является объектом List
во время выполнения. Это используется, если мы не можем определить тип по типу компиляции (например, при синтаксическом анализе JSON).
Пример
Мы декодируем некоторые JSON и сообщаем Dart, что мы можем гарантировать, что тип во время выполнения будет List
, используя as List
.
import 'dart:convert';
void main() {
final list = json.decode('[1, 2, 3]') as List;
print(list); // [1, 2, 3]
final newList = list.cast<int>().map((e) => e * 2).toList();
print(newList); // [2, 4, 6]
}
Затем мы используем .map
для удвоения каждого значения и хотим преобразовать его в новый список с помощью usin toList()
.