Errors Начинающий

Получить ненулевое значение с явным значением по умолчанию — без тернарного оператора.

✕ Java 8
String name = input != null
    ? input
    : "default";
// easy to get the order wrong
✓ Java 9+
String name = Objects
    .requireNonNullElse(
        input, "default"
    );
Заметили проблему в этом коде? Сообщите нам.
📖

Явное намерение

Название метода точно описывает, что он делает.

🛡️

Null-безопасное значение по умолчанию

Значение по умолчанию также проверяется на null.

📏

Читаемость

Лучше тернарного оператора для простой логики null-или-по-умолчанию.

Старый подход
Тернарная проверка null
Современный подход
requireNonNullElse()
Начиная с JDK
9
Сложность
Начинающий
Objects.requireNonNullElse()
Доступно

Доступно в JDK 9 (сент. 2017)

requireNonNullElse возвращает первый аргумент, если он не null, иначе — второй. Значение по умолчанию само не может быть null — при двух null-значениях выбрасывается NPE, что выявляет ошибки на раннем этапе.