Вебинары Разобраться в IT Реферальная программа
Программирование Аналитика Дизайн Маркетинг Управление проектами
7 профессий по цене одной
07:05:47:06
дн. ч. мин. сек.
10 Июл 2023
2 мин
130

Сравнение строк в Java

При работе с Java часто возникает необходимость сравнивать строки. Например, имеется две строки, и нужно определить, равны ли они. Вот пример такого кода:

При работе с Java часто возникает необходимость сравнивать строки. Например, имеется две строки, и нужно определить, равны ли они. Вот пример такого кода:

String str1 = "Привет";
String str2 = "Привет";
if (str1 == str2) {
    System.out.println("Строки равны");
} else {
    System.out.println("Строки не равны");
}

В этом случае в консоль будет выведено «Строки равны». Однако эта ситуация не всегда работает, так как оператор == сравнивает не сами строки, а ссылки на них. Если строки создаются разными способами, они могут располагаться в разных областях памяти, и даже при одинаковом содержимом ссылки на них будут разными.

String str1 = new String("Привет");
String str2 = new String("Привет");
if (str1 == str2) {
    System.out.println("Строки равны");
} else {
    System.out.println("Строки не равны");
}

В этом случае в консоль будет выведено «Строки не равны», хотя содержимое строк одинаковое.

Именно поэтому для сравнения строк в Java рекомендуется использовать метод equals(), который сравнивает содержимое строк, а не ссылки на них.

String str1 = new String("Привет");
String str2 = new String("Привет");
if (str1.equals(str2)) {
    System.out.println("Строки равны");
} else {
    System.out.println("Строки не равны");
}

В этом случае будет выведено «Строки равны», так как метод equals() сравнивает именно содержимое строк.

Таким образом, оператор == можно использовать для сравнения строк только в том случае, когда уверены, что сравниваемые строки располагаются в одной области памяти. Во всех остальных случаях следует использовать метод equals().

Проверь как ты усвоил материалы статьи
Пройди тест и узнай насколько ты лучше других читателей

Добавить комментарий