Я понимаю, что вызов Optionals ifPresent() предназначен для замены нулевой проверки. Вытягивая примеры кода из документации Oracle, она представляется очень полезной в простых ситуациях. Например:Java 8 Необязательный ifPresent() vs! = Null
Optional<Soundcard> soundcard = ...;
soundcard.ifPresent(System.out::println);
Я просто хочу понять, почему это считается лучше, чем нулевой чек. Читаемость? Представление? Мне кажется, что это вызовет удар по эффективности проекта, поскольку новый объект должен быть введен для того, чтобы удерживать объект, который мы в конечном итоге хотим получить? В полной мере, почему этоsoundcard.ifPresent()
считается лучше, чем этоif(soundcard != null)
.
Посмотрите на [this] (http://stackoverflow.com/questions/271526/avoiding-null-statements-in-java) популярный пост. – Mordechai
См. Также http://stackoverflow.com/q/9561295/869736 –