Метод 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>();
© 2012 the Dart project authors
Licensed under the BSD 3-Clause "New" or "Revised" License.
https://api.dart.dev/stable/2.18.5/dart-core/List/cast.html