Метод 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.