在 Dart 中,可以使用类型转换来将一个类型转换为另一个类型。Dart 中的类型转换有两种方式:隐式类型转换和显式类型转换。

  1. 隐式类型转换:当变量的类型与所需类型兼容时,Dart 会自动进行隐式类型转换。例如,将一个整数赋值给一个浮点数变量,或将一个子类赋值给一个父类变量。
int a = 10;
double b = a; // 隐式类型转换,将整数转换为浮点数
  1. 显式类型转换:当需要将一个类型转换为另一个类型时,可以使用显式类型转换。在 Dart 中,显式类型转换使用类型转换操作符。有以下几种类型转换操作符:
  • as:用于将一个对象强制转换为指定类型,如果类型不匹配,会抛出异常。
  • is:用于判断一个对象是否为指定类型,并返回一个布尔值。
  • is!:用于判断一个对象是否不是指定类型,并返回一个布尔值。
  • runtimeType:用于获取一个对象的运行时类型。
num a = 10;
int b = a as int; // 显式类型转换,将 num 类型转换为 int 类型

if (a is int) {
  print('a is an integer');
}

print(a.runtimeType); // 输出:int

需要注意的是,类型转换操作符只能用于类层次结构中的相关类型间的转换,不能用于无关类型之间的转换。

另外,如果需要将一个字符串转换为其他类型,可以使用相关的类型转换函数,如 int.parse()double.parse() 等。

String str = '10';
int a = int.parse(str); // 将字符串转换为整数
double b = double.parse(str); // 将字符串转换为浮点数
Dart 类型转换:隐式与显式转换详解

原文地址: https://www.cveoy.top/t/topic/qhxW 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录