Свойство runtimeType
Свойство runtimeType класса Object возвращает тип объекта во время выполнения программы. Возвращаемое значение имеет тип Type. Это свойство доступно любому объекту в Dart, поскольку все классы неявно наследуются от Object. Свойство не принимает параметров и доступно только для чтения. Его удобно использовать для проверки фактического типа объекта, особенно когда переменная имеет тип Object или dynamic.
Синтаксис
object.runtimeType
Пример
Давайте получим тип целого числа и строки:
void main()
{
int num = 123;
String str = 'abcde';
print(num.runtimeType);
print(str.runtimeType);
}
Результат выполнения кода:
int
String
Пример
Давайте получим тип объекта, который хранится в переменной с типом Object:
void main()
{
Object obj = 123;
print(obj.runtimeType);
}
Результат выполнения кода:
int
Пример
Давайте получим тип списка и пользовательского объекта:
class User
{
}
void main()
{
List list = ['a', 'b', 'c', 'd', 'e'];
User user = User();
print(list.runtimeType);
print(user.runtimeType);
}
Результат выполнения кода:
List<String>
User
Пример
Давайте сравним runtimeType с типом int и выведем результат проверки:
void main()
{
Object obj = 123;
print(obj.runtimeType == int);
print(obj.runtimeType == String);
}
Результат выполнения кода:
true
false
Смотрите также
-
класс
Object,
который является базовым классом для всех объектов -
метод
toString,
который возвращает строковое представление объекта -
метод
noSuchMethod,
который вызывается при обращении к несуществующему методу -
свойство
runtimeType,
которое возвращает тип объекта во время выполнения