Как сравнить две строки в Java?

Для сравнения содержимого строк Java используют equals, для null-safe сравнения — Objects.equals. Оператор == сравнивает ссылки, а compareTo задаёт лексикографический порядок.

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

Что ответить на собеседовании

Для сравнения содержимого строк Java используют equals, для null-safe сравнения — Objects.equals. Оператор == сравнивает ссылки, а compareTo задаёт лексикографический порядок.

Подробный разбор

Ответ с пояснениями

Для сравнения содержимого строк Java используют equals, для null-safe сравнения — Objects.equals. Оператор == сравнивает ссылки, а compareTo задаёт лексикографический порядок.

Пример:

String a = new String("test");
String b = new String("test");
System.out.println(a == b);       // false
System.out.println(a.equals(b)); // true

equalsIgnoreCase игнорирует регистр в рамках правил метода, но не заменяет полноценное локализованное сравнение. Если a может быть null, вызов a.equals(b) опасен; используйте java.util.Objects.equals(a, b). Пул строк иногда делает == истинным, но это не основание применять его для сравнения текста.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее