Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Задачи

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

AI info

Карта сайта

Документы

Медиа

Назад
Вопрос про Java: Java, String comparison, NullPointerException, equals

Почему выражение "CONST".equals(variable) считается более безопасным?

Проверяет понимание защиты от NullPointerException при сравнении строк в Java.

Короткий ответ

Выражение "CONST".equals(variable) безопаснее, потому что если variable равен null, то вызов метода equals на константной строке не приведет к NullPointerException. В обратном случае variable.equals("CONST") вызовет исключение при null. Это позволяет избежать дополнительных проверок на null и делает код более надежным.

Длинный ответ

Почему "CONST".equals(variable) безопаснее?

В Java метод equals() вызывается на объекте, и если этот объект равен null, то возникает NullPointerException. При использовании "CONST".equals(variable) метод вызывается на строковом литерале, который никогда не бывает null, поэтому исключение не возникнет, даже если variable равен null. В случае variable.equals("CONST") при variable == null программа упадет с ошибкой.

Пример кода

String variable = null;

// Безопасный вариант
if ("CONST".equals(variable)) {
    System.out.println("Равно");
} else {
    System.out.println("Не равно или null");
}

// Опасный вариант
if (variable.equals("CONST")) { // NullPointerException!
    System.out.println("Равно");
}

Где применяется

Этот паттерн широко используется при сравнении строк, полученных из внешних источников (пользовательский ввод, базы данных, API), где значение может быть null. Он помогает избежать лишних проверок на null и делает код более чистым.

Вывод

Используйте "CONST".equals(variable) для безопасного сравнения строк, особенно когда переменная может быть null. Это предотвращает NullPointerException и улучшает читаемость кода.

Уровень

  • Рейтинг:

    4

  • Сложность:

    2

Навыки

  • Java

    Java

Ключевые слова

#Java

#String comparison

#NullPointerException

#equals

Подпишись на Java Developer в телеграм