Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
733 of 1172 menu
◀ ▶

Метод requireNonNull

Метод requireNonNull класса Objects проверяет переданный объект на null. Если объект не равен null, метод возвращает его обратно. Если же объект равен null, метод выбрасывает исключение NullPointerException. В первый параметр мы передаем проверяемый объект. Вторым параметром можно передать сообщение об ошибке, которое будет использовано при создании исключения. Существует также перегрузка, которая вместо строки принимает функцию-поставщик Supplier для ленивого создания сообщения об ошибке.

Синтаксис

Objects.requireNonNull(obj) Objects.requireNonNull(obj, message) Objects.requireNonNull(obj, messageSupplier)

Пример

Давайте передадим в метод requireNonNull объект, который не равен null, и выведем результат:

import java.util.Objects; public class Main { public static void main(String[] args) { String str = "abcde"; String res = Objects.requireNonNull(str); System.out.println(res); } }

Результат выполнения кода:

"abcde"

Пример

Давайте передадим в метод requireNonNull объект, который равен null, и посмотрим, какое исключение будет выброшено:

import java.util.Objects; public class Main { public static void main(String[] args) { String str = null; String res = Objects.requireNonNull(str); System.out.println(res); } }

Результат выполнения кода:

Exception in thread "main" java.lang.NullPointerException

Пример

Давайте передадим вторым параметром сообщение об ошибке, чтобы при выбросе исключения было понятно, какой именно объект оказался равен null:

import java.util.Objects; public class Main { public static void main(String[] args) { String str = null; String res = Objects.requireNonNull(str, "str must not be null"); System.out.println(res); } }

Результат выполнения кода:

Exception in thread "main" java.lang.NullPointerException: str must not be null

Пример

Давайте используем перегрузку с Supplier, чтобы сообщение об ошибке создавалось только в момент выброса исключения:

import java.util.Objects; public class Main { public static void main(String[] args) { String str = null; String res = Objects.requireNonNull(str, () -> "str must not be null"); System.out.println(res); } }

Результат выполнения кода:

Exception in thread "main" java.lang.NullPointerException: str must not be null

Смотрите также

  • класс NullPointerException,
    которое выбрасывает этот метод
  • метод requireNonNullElse,
    который возвращает значение по умолчанию вместо null
  • метод isNull,
    который проверяет объект на null
  • метод nonNull,
    который проверяет, что объект не равен null
← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить