Ответ 1
Из JavaDoc метода:
Примечание API: Этот метод существует для использования в качестве
Predicate
,filter(Objects::isNull)
Какова цель
Objects.isNull(x)
если мы можем просто написать
x == null
?
То же самое для
Objects.nonNull(...)
и
x != null
Из JavaDoc метода:
Примечание API: Этот метод существует для использования в качестве
Predicate
,filter(Objects::isNull)
Помимо его очевидного использования в функциональном мире. Его также можно использовать в вашем обычном коде вместо ==
.
Многие программисты (включая меня) считают, что (x == null
или x != null
) не являются объектно-ориентированными, и поэтому имеет смысл использовать объектно-ориентированную версию.
Объекты Java doc:
Этот класс состоит из статических служебных методов для работы с объектами. Эти утилиты включают в себя нулевые и недопустимые методы для вычисления хеш-кода объекта, возврата строки для объекта и сравнения двух объектов.
Я лично предпочитаю версию метода и использую ее последние пару лет :)