Метод cast
Метод cast создает новый список, элементы которого
приводятся к указанному типу. Метод принимает один параметр:
тип, к которому нужно привести элементы. Возвращается объект
List с новым типом элементов. Исходный список при этом
не изменяется. Если хотя бы один элемент невозможно привести
к указанному типу, будет выброшено исключение TypeError.
Синтаксис
list.cast<T>()
Пример
Давайте создадим список с типом List<num>
и приведем его элементы к типу int:
void main()
{
List<num> list = [1, 2, 3, 4, 5];
List<int> res = list.cast<int>();
print(res);
}
Результат выполнения кода:
[1, 2, 3, 4, 5]
Пример
Давайте создадим список с типом List<Object>
и приведем его элементы к типу String:
void main()
{
List<Object> list = ['a', 'b', 'c', 'd', 'e'];
List<String> res = list.cast<String>();
print(res);
}
Результат выполнения кода:
[a, b, c, d, e]
Пример
Если тип элемента невозможно привести к указанному типу, будет выброшено исключение:
void main()
{
List<Object> list = ['a', 'b', 'c'];
try
{
List<int> res = list.cast<int>();
print(res);
}
catch (e)
{
print('Error: $e');
}
}
Результат выполнения кода:
"Error: TypeError: type 'String' is not a subtype of type 'int' in type cast"