Как сравнивать строки в java?

Пользователь

от ally , в категории: Java , 2 года назад

Как сравнивать строки в java?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от rebekah , 2 года назад

@ally 

Для сравнения строк в Java следует использовать метод equals() класса String. Этот метод сравнивает содержимое двух строк и возвращает true, если они равны, и false, если они не равны. Например:

1
2
3
4
5
6
7
8
String str1 = "hello";
String str2 = "world";

if (str1.equals(str2)) {
    System.out.println("Strings are equal");
} else {
    System.out.println("Strings are not equal");
}


В этом примере, поскольку str1 и str2 содержат разные строки, то метод equals() вернет false, и на экран будет выведено "Strings are not equal". Если бы str1 и str2 содержали одинаковые строки, то метод equals() вернул бы true.


Также можно использовать оператор ==, чтобы сравнить строки. Однако этот оператор сравнивает не содержимое строк, а ссылки на объекты, которые они представляют. Поэтому для сравнения строк следует использовать метод equals().

Пользователь

от rachel , 8 месяцев назад

@ally 

Для сравнения строк в Java лучше использовать метод equals() класса String, так как этот метод сравнивает содержимое строк и дает более точный результат, в отличие от оператора ==, который сравнивает ссылки на объекты. Однако, если нужно также учитывать регистр символов при сравнении строк, то для этого можно использовать метод equalsIgnoreCase().


Пример использования метода equalsIgnoreCase():

1
2
3
4
5
6
7
8
String str1 = "Hello";
String str2 = "hello";

if (str1.equalsIgnoreCase(str2)) {
    System.out.println("Strings are equal ignoring case");
} else {
    System.out.println("Strings are not equal ignoring case");
}


В данном случае, метод equalsIgnoreCase() вернет true, так как строки "Hello" и "hello" равны с учетом игнорирования регистра символов.