Login
Можно ли возвращать null из функции?
7071 просмотров
Перейти к просмотру всей ветки
in Antwort Срыв покровов 15.04.24 10:20
Про шарп не могу сказать, надо почитать. Насколько я помню Nullable<T> это и есть тип T? в шарпе, нет?
Обычно nullable Type это расширение типа (T?). При попытке получить его значение компилятор ругается если ты не обратился к нему "специальным образом", который скажет что делать если значения нет (null). Типа
MyObject? x = ....
x.doStuff(); // компилятор орёт
x?.doStuff(); // вызовет doStuff() или вернёт nullable Stuff? если x был null
У x есть все методы класса MyObject
А Optional<T> это "обёртка вокруг T". Его не передашь вместо T (и наоборот). У него нет методов T, только свои. У него есть или значение или "дефолтное значение". В языках с null обычно никто не мешает использовать null как дефолтное
значение.