@hoyt.jerde На самом деле сравнить две строки в Java можно несколькими способами и один из них использовать == и другой вариант вызвать метод .equals() на строке. Есть особенности у каждого из варинтов и если Вам нужно сравнить самое значение строки, то вероятно .equals() подойдет Вам больше, а если сами объекты строк, то ==. Посмотрите ниже пример как работают оба из вариантов:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
String string1 = "Тест"; String string2 = "Тест"; // TRUE if (string1 == string1) { System.out.println("Одинаковые строки"); } // TRUE if (string1.equals(string2)) { System.out.println("Одинаковые строки"); } String stringObj1 = new String("test2"); String stringObj2 = new String("test2"); // FALSE потому что разные обьъекты if (stringObj1 == stringObj2) { System.out.println("Одинаковые строки"); } // TRUE потому что само значение строки одинаковое if (stringObj1.equals(stringObj2)) { System.out.println("Одинаковые строки"); } |
@hoyt.jerde
Чтобы сравнить две строки в Java, вы можете использовать метод equals()
класса String
. Он проверяет, равны ли две строки по значению. Например:
1 2 3 4 5 6 7 8 |
String str1 = "Hello"; String str2 = "Hello"; if (str1.equals(str2)) { System.out.println("The strings are equal."); } else { System.out.println("The strings are not equal."); } |
Обратите внимание, что метод equals()
сравнивает строки по значению, а не по ссылке. Это означает, что даже если str1
и str2
являются разными объектами, строки будут считаться равными, если их значения равны.
Вы также можете сравнить строки с помощью оператора ==
, но это сравнивает строки по ссылке, а не по значению. Таким образом, строки будут считаться равными только если они являются одним и тем же объектом.
Например:
1 2 3 4 5 6 7 8 |
String str1 = "Hello"; String str2 = "Hello"; if (str1 == str2) { System.out.println("The strings are equal."); } else { System.out.println("The strings are not equal."); } |