Метод nonNull
Метод nonNull класса Objects проверяет,
является ли переданная ссылка на объект не равной null.
В единственный параметр мы передаем ссылку на объект,
которую необходимо проверить. Метод возвращает
true, если объект не равен null,
и false - в противном случае.
Данный метод удобен тем, что его можно использовать
в виде ссылки на метод (method reference),
например, в конструкциях filter(Objects::nonNull),
что делает код более лаконичным по сравнению
с использованием лямбда-выражения x -> x != null.
Синтаксис
Objects.nonNull(obj)
Пример
Давайте проверим несколько ссылок на предмет
равенства null и выведем результат:
import java.util.Objects;
public class Main
{
public static void main(String[] args)
{
String str = "abcde";
String empty = null;
System.out.println(Objects.nonNull(str));
System.out.println(Objects.nonNull(empty));
}
}
Результат выполнения кода:
true
false
Пример
Давайте используем метод nonNull
для фильтрации списка, содержащего null-элементы:
import java.util.List;
import java.util.Objects;
public class Main
{
public static void main(String[] args)
{
List<String> list = new java.util.ArrayList<>();
list.add("abcde");
list.add(null);
list.add("12345");
list.add(null);
List<String> res = list.stream()
.filter(Objects::nonNull)
.toList();
System.out.println(res);
}
}
Результат выполнения кода:
[abcde, 12345]
Пример
Давайте проверим, что метод nonNull
возвращает результат, обратный методу isNull:
import java.util.Objects;
public class Main
{
public static void main(String[] args)
{
String str = "abcde";
boolean res1 = Objects.nonNull(str);
boolean res2 = Objects.isNull(str);
System.out.println(res1);
System.out.println(res2);
}
}
Результат выполнения кода:
true
false
Смотрите также
-
метод
isNull,
который проверяет ссылку на равенство null -
метод
requireNonNull,
который выбрасывает исключение при null -
метод
requireNonNullElse,
который возвращает значение по умолчанию при null -
класс
NullPointerException,
которое возникает при разыменовании null