Для сравнения содержимого строк Java используют equals, для null-safe сравнения — Objects.equals. Оператор == сравнивает ссылки, а compareTo задаёт лексикографический порядок.
Как сравнить две строки в Java?
Для сравнения содержимого строк 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). Пул строк иногда делает == истинным, но это не основание применять его для сравнения текста.