РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
724 of 1163 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 для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить