cast< R> метод
Возвращает представление этого списка в виде списка экземпляров R.
Если этот список содержит только экземпляры R, все операции чтения будут работать правильно. Если какая-либо операция попытается прочитать элемент, который не является экземпляром R, вместо этого при доступе будет выброшено исключение.
Элементы, добавляемые в список (например, с помощью add или addAll), должны быть экземплярами R, чтобы быть допустимыми аргументами функции добавления, а также экземплярами E, чтобы этот список их принял.
Методы, принимающие Object? в качестве аргумента, например contains и remove, передают аргумент непосредственно методу этого списка без каких-либо проверок. Это означает, что вы можете успешно выполнить listOfStrings.cast<int>().remove("a"), даже если кажется, что это не должно иметь никакого эффекта.
Обычно реализуется как List.castFrom<E, R>(this).
Реализация
List<R> cast<R>() => UnmodifiableListView(_source.cast<R>());
© 2012 the Dart project authors
Licensed under the BSD 3-Clause "New" or "Revised" License.
https://api.dart.dev/stable/2.19.6/dart-collection/UnmodifiableListView/cast.html