Метод cast
Метод cast приводит текущий Map к Map с другими типами ключей и значений. Метод не создаёт копию коллекции, а возвращает представление исходного объекта с новыми типами. Если элемент не соответствует указанному типу, при обращении к нему возникнет ошибка. Параметры у метода отсутствуют, а целевые типы указываются в угловых скобках при вызове.
Синтаксис
map.cast<K, V>()
Пример
Давайте создадим Map с ключами типа String и значениями типа int, а затем приведём его к типу Map<String, num>:
void main()
{
Map<String, int> map = {'a': 1, 'b': 2, 'c': 3};
Map<String, num> res = map.cast<String, num>();
print(res);
}
Результат выполнения кода:
{a: 1, b: 2, c: 3}
Пример
Давайте создадим Map с ключами типа int и значениями типа String, а затем приведём его к типу Map<num, Object>:
void main()
{
Map<int, String> map = {1: 'a', 2: 'b', 3: 'c'};
Map<num, Object> res = map.cast<num, Object>();
print(res);
}
Результат выполнения кода:
{1: a, 2: b, 3: c}
Пример
Давайте создадим Map с динамическими типами и приведём его к конкретным типам Map<String, int>:
void main()
{
Map<dynamic, dynamic> map = {'a': 1, 'b': 2, 'c': 3};
Map<String, int> res = map.cast<String, int>();
print(res);
}
Результат выполнения кода:
{a: 1, b: 2, c: 3}