Encodera

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.

Справочник Java

String.equals()

Сравнивает содержимое двух строк.

Доступно с: Java 1.0

Синтаксис

public boolean equals(Object anObject)

Параметры

ПараметрТипОписание
anObjectObjectС чем сравнивать. Для true это должна быть строка с теми же символами.

Возвращаемое значение

booleantrue, если строки состоят из одинаковых символов.

Примеры

equals() сравнивает содержимое, а == — ссылки на объекты:

void main() {
    String a = "java";
    String b = new String("java");
    IO.println(a.equals(b));
    IO.println(a == b);
}

Результат:

true
false

Сравнение со строкой, которая может быть null — литерал слева:

void main() {
    String answer = null;
    IO.println("yes".equals(answer));
}

Результат:

false

Примечания

Строки всегда сравнивайте через equals(). Оператор == иногда «работает» для литералов, потому что одинаковые литералы — один объект, но для строк, прочитанных из ввода или собранных в программе, он даёт false.

Вызов answer.equals("yes") при answer == null бросит NullPointerException. Варианты без этой проблемы: "yes".equals(answer) или Objects.equals(answer, "yes").

См. также

  • String.equalsIgnoreCase() — Сравнивает две строки без учёта регистра букв.
  • String.compareTo() — Сравнивает две строки по алфавиту (лексикографически).
  • == vs equals() — == сравнивает значения примитивов и ссылки объектов; содержимое объектов сравнивает equals().
  • Objects.equals() — Сравнивает два объекта через equals(), безопасно для null.

Вопросы и ответы по теме

В учебнике

  • Строки — Тип String в Java: создание строк, склейка через +, длина, символы по индексу, экранирование и сравнение через equals.

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.