русский
Germany.ruForen → Архив Досок→ Programmierung

Можно ли возвращать null из функции?

15.04.24 10:58
Re: Можно ли возвращать null из функции?
 
MrSanders коренной житель

Про шарп не могу сказать, надо почитать. Насколько я помню 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 как дефолтное значение.


 

Sprung zu