Чтобы сравнить две строки в Java и проверить, равны ли они, вы можете использовать несколько методов. Вот некоторые из часто используемых подходов:
- Использование метода
equals()
. Этот метод сравнивает содержимое двух строк и возвращаетtrue
, если они равны, иfalse
иначе. В нем учитывается регистр.
String str1 = "Hello";
String str2 = "World";
if (str1.equals(str2)) {
System.out.println("Strings are equal");
} else {
System.out.println("Strings are not equal");
}
- Использование метода
equalsIgnoreCase()
: этот метод сравнивает содержимое двух строк, игнорируя регистр. Он возвращаетtrue
, если они равны, иfalse
в противном случае.
String str1 = "Hello";
String str2 = "hello";
if (str1.equalsIgnoreCase(str2)) {
System.out.println("Strings are equal");
} else {
System.out.println("Strings are not equal");
}
- Использование метода
compareTo()
: этот метод лексикографически сравнивает две строки. Он возвращает отрицательное целое число, если первая строка меньше второй, ноль, если они равны, и положительное целое число, если первая строка больше.
String str1 = "Hello";
String str2 = "World";
int result = str1.compareTo(str2);
if (result == 0) {
System.out.println("Strings are equal");
} else {
System.out.println("Strings are not equal");
}
- Использование оператора
==
. В Java вы также можете использовать оператор==
для сравнения строк. Однако этот метод проверяет, указывают ли две ссылки на одну и ту же ячейку памяти, а не сравнивает их содержимое. Поэтому не во всех случаях он может дать ожидаемый результат.
String str1 = "Hello";
String str2 = "Hello";
if (str1 == str2) {
System.out.println("Strings are equal");
} else {
System.out.println("Strings are not equal");
}
Обычно рекомендуется использовать методы equals()
или equalsIgnoreCase()
для сравнения строк на основе их содержимого.