📅  最后修改于: 2023-12-03 14:58:49.366000             🧑  作者: Mango
在Dart中,可以使用runtimeType
属性和is
和as
运算符来检查一个对象的类型。
runtimeType
属性在Dart中,每个对象都有一个runtimeType
属性,其类型为Type
。使用该属性可以获取对象的运行时类型,例如:
var num1 = 1;
print(num1.runtimeType); // Output: int
var str1 = 'Hello';
print(str1.runtimeType); // Output: String
is
运算符使用is
运算符可以检查一个对象是否属于某个类或其子类,例如:
var num2 = 2;
print(num2 is int); // Output: true
print(num2 is double); // Output: false
var str2 = 'Hello';
print(str2 is String); // Output: true
print(str2 is Object); // Output: true
as
运算符使用as
运算符可以将一个对象强制转换为某个类的对象,例如:
Object obj = 'Hello';
String str3 = obj as String;
print(str3); // Output: Hello
Object obj2 = 1;
String? str4 = obj2 as String?;
print(str4); // Output: null (因为无法将int强制转换为String)
在Dart中,可以使用runtimeType
属性和is
和as
运算符来检查对象的类型。这对于开发者来说非常重要,因为他们需要知道自己正在处理哪种类型的对象才能正确地操作它们。