Тип Object?
Тип Object? - это nullable-версия типа Object.
Он позволяет переменной хранить либо любой объект, либо
значение null. В отличие от обычного Object,
который не может быть равен null, тип Object?
явно допускает отсутствие значения. Это полезно, когда
заранее неизвестно, будет ли переменная инициализирована
объектом. Перед использованием такого значения обычно
требуется проверка на null или применение
операторов ?, ?? и !.
Синтаксис
Object? variable;
Пример
Давайте объявим переменную с типом Object?
и присвоим ей значение null:
void main()
{
Object? value = null;
print(value);
}
Результат выполнения кода:
null
Пример
Давайте присвоим переменной с типом Object?
строку и выведем её на экран:
void main()
{
Object? value = 'abcde';
print(value);
}
Результат выполнения кода:
"abcde"
Пример
Давайте проверим значение на null
перед его использованием:
void main()
{
Object? value = 'abcde';
if (value != null) {
print(value);
} else {
print('value is null');
}
}
Результат выполнения кода:
"abcde"
Пример
Давайте используем оператор ??, чтобы задать
значение по умолчанию, если переменная равна null:
void main()
{
Object? value = null;
Object res = value ?? 'default';
print(res);
}
Результат выполнения кода:
"default"
Смотрите также
-
тип
nullable-object,
который описывает nullable-тип Object? -
тип
dynamic,
который допускает любые значения без проверки -
тип
Never,
который обозначает отсутствие значения -
тип
void,
который используется для функций без результата