Junior — Middle
103
¿En qué se diferencian los métodos Optional.of() y Optional.ofNullable() en uso y comportamiento?
Respuesta de la IA
sobes.tech AI
Методы Optional.of() и Optional.ofNullable() используются для создания Optional-объектов, но отличаются поведением при передаче null:
-
Optional.of(value)— создаёт Optional с непустым значением. Если передатьnull, выброситNullPointerException. Используется, когда вы уверены, что значение неnull. -
Optional.ofNullable(value)— создаёт Optional, который может быть пустым, если переданоnull. Не выбрасывает исключение.
Пример:
Optional<String> opt1 = Optional.of("Hello"); // OK
Optional<String> opt2 = Optional.of(null); // NullPointerException
Optional<String> opt3 = Optional.ofNullable("Hello"); // OK
Optional<String> opt4 = Optional.ofNullable(null); // Пустой Optional
Таким образом, ofNullable безопаснее, когда значение может быть null, а of — когда null недопустим.