Метод cast< RK, RV>
Обеспечивает представление этого карты как имеющей RK ключи и RV экземпляры, при необходимости.
Если эта карта уже является Map<RK, RV>, она возвращается без изменений.
Если этот набор содержит только ключи типа RK и значения типа RV, все операции чтения будут работать корректно. Если какая-либо операция раскрывает не-RK ключ или не-RV значение, операция выбросит исключение вместо этого.
Элементы, добавленные в карту, должны быть допустимыми как для Map<K, V>, так и для Map<RK, RV>.
Методы, которые принимают Object? в качестве аргумента, такие как containsKey, remove и operator [], будут передавать аргумент напрямую в метод этой карты без каких-либо проверок. Это означает, что вы можете сделать mapWithStringKeys.cast<int,int>().remove("a") успешно, даже если кажется, что это не должно иметь никакого эффекта.
Реализация
Map<RK, RV> cast<RK, RV>();
© 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/Map/cast.html