Найти в Дзене
Bereshpolov

Я исключил все блоки if (object == null)

Привет! В этой статье я расскажу, как объединить лямбда-выражение и Optional, чтобы Java более изящно обрабатывала значение null.

Предположим, у нас есть объект Student и Optional для объекта Student:

-2

Optional не может упростить исходную громоздкую проверку null, если он не используется вместе с Lambda, например:

Возможная проверка на null Student
Возможная проверка на null Student
Другой способ проверки, тоже не лучший вариант
Другой способ проверки, тоже не лучший вариант

Только когда Optional используется в сочетании с Lambda, можно проявить его истинную мощь!

Давайте теперь сравним следующие четыре общих различия в обработке null между Java8 + Optional и традиционной Java.

Случай 1 - использование ifPresent

-5

Случай 2 - возвращаем объект или исключение

-6

Случай 3 - возвращаем объект или создаем новый

-7

Случай 4 - проверка всех на null

-8

Из четырех приведенных выше ситуаций ясно видно, что Optional+ Lambda позволяет нам писать намного меньше блоков ifElse. Особенно в случае 4 традиционный метод написания Java кажется длинным и трудным для понимания, в то время как Optional+Lambda является свежим, ясным и кратким.

Пишите комментарии, оставляйте лайки и подписывайтесь, если Вам понравилась статья.

Источник: https://levelup.gitconnected.com/java-because-i-eliminated-all-the-if-object-null-in-the-project-my-boss-rewarded-me-with-29b316c32329