Какой метод используется для сравнения двух строк на равенство в Java?

Использование методов equals() и equalsIgnoreCase() в Java для сравнения строк

Метод equals() в Java используется для сравнения двух строк на равенство по содержимому. Если две сравниваемые строки идентичны, метод возвращает true, в противном случае – false.

String str1 = "Привет";
String str2 = "Привет";
boolean result = str1.equals(str2); // возвращает true, потому что строки равны

Однако, стоит заметить, что метод equals() учитывает регистр символов. То есть, если мы сравним строки "Привет" и "привет" (различаются только регистром первого символа), метод equals() вернёт false.

String str1 = "Привет";
String str2 = "привет";
boolean result = str1.equals(str2); // возвращает false, потому что строки различаются по регистру

В этом случае на помощь приходит метод equalsIgnoreCase(). Он также сравнивает две строки на равенство, но при этом не учитывает регистр символов.

String str1 = "Привет";
String str2 = "привет";
boolean result = str1.equalsIgnoreCase(str2); // возвращает true, потому что строки равны, если не учитывать регистр

Как правило, выбор между equals() и equalsIgnoreCase() зависит от конкретной задачи. Если важно учитывать регистр символов, используйте equals(), если нет — выбирайте equalsIgnoreCase().

Заметим, что ответ compareTo() указан как неверный, поскольку этот метод не только сравнивает строки на равенство, но и опережает, какая строка больше или меньше другой в лексикографическом порядке. Метод compare(), в свою очередь, не существует для класса String в Java.

Related Questions

Считаете ли это полезным?