Оператор as
Оператор as выполняет приведение объекта
к указанному типу. Слева от оператора указывается
приводимый объект, а справа - целевой тип.
Если объект совместим с целевым типом,
оператор возвращает этот объект уже с новым типом.
Если объект несовместим с целевым типом,
во время выполнения возникает ошибка TypeError.
Синтаксис
object as Type
Пример
Давайте приведем переменную типа Object
к типу String и вызовем строковый метод:
void main()
{
Object obj = 'abcde';
String str = obj as String;
print(str.toUpperCase());
}
Результат выполнения кода:
"ABCDE"
Пример
Давайте приведем число к типу int
и выполним арифметическую операцию:
void main()
{
num value = 42;
int res = (value as int) + 8;
print(res);
}
Результат выполнения кода:
50
Пример
Если объект несовместим с целевым типом,
возникает ошибка. Давайте попробуем привести
строку к типу int:
void main()
{
Object obj = '12345';
int res = obj as int;
print(res);
}
Результат выполнения кода:
Uncaught TypeError: '12345' is not a subtype of type 'int' in type cast