Использование объектов, допускающих значение NULL, в дополнительных методах после покрытия их с помощью ofNullableJAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Использование объектов, допускающих значение NULL, в дополнительных методах после покрытия их с помощью ofNullable

Сообщение Anonymous »

Я наткнулся на приведенный ниже код:

Код: Выделить всё

public void method(MyObject obj) {
String value = Optional.ofNullable(obj)
.map(x -> obj.doSomething())
.orElse(MyObject.DEFAULT_VALUE);

}
Мне интересно узнать об использовании x -> obj.doSomething() вместо x -> x.doSomething() в карте > метод.
Здесь, даже если obj имеет значение null, исключение NullPointerException НЕ будет выброшено, поскольку мы вызываем метод ofNullable перед картой и, следовательно, функция сопоставления будет вызываться только тогда, когда obj не имеет значения null.
Таким образом, с точки зрения результатов, как x -> obj.doSomething(), так и x -> x.doSomething() будут эквивалентны в случае необязательного. (Очевидно, что результат будет другим в случае Stream или при использованииOptional.of).
Есть ли какие-либо другие различия? И с точки зрения использования, я думаю, что x -> x.doSomething() должно быть предпочтительнее, чем использование самого фактического объекта.

Подробнее здесь: https://stackoverflow.com/questions/786 ... ofnullable
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «JAVA»