equals() в Java - проверить равны ли две строки
Данная статья:
- написана командой Vertex Academy. Надеемся, что она Вам будет полезна. Приятного прочтения!
- это одна из статей из нашего "Самоучителя по Java"
Метод equals() в Java
Метод equals() проверяет, равны ли два объекта (например, две строки). Метод прописан для основных классов Java.
Синтаксис метода:
1 |
public boolean equals(Object o) |
Вызов:
1 |
boolean b = str1.equals(str2); |
Пример:
1 2 3 4 5 6 7 8 9 10 11 |
public class Test { public static void main(String args[]) { String str1 = "Good morning"; String str2 = "Good morning"; String str3 = "Good evening"; System.out.println("String '" + str1 + "' equals '" + str2 + "' : " + str1.equals(str2)); System.out.println("String '" + str1 + "' equals '" + str3 + "' : " + str1.equals(str3)); } } |
Если Вы запустите данный код на своем компьютере, в консоли Вы увидите следующее:
Комментарии к коду:
У нас есть три строки. Первые две имеют одинаковое содержание ("Good morning"), а третья отличается ("Good evening"). Соответственно, сравнивая первые две сроки с помощью метода equals(), мы получаем в консоли true. Но когда мы сравниваем "Good morning" и "Good evening", получаем false.
- Обратите внимание, что если мы сравним два разных объекта (например, число 10 и строку "10"), то получим false:
1 2 3 4 5 6 7 8 9 |
public class Test { public static void main(String args[]) { String str1 = "10"; Integer i = 10; System.out.println("String '" + str1 + "' equals '" + i + "' : " + str1.equals(i)); } } |
- Есть похожий метод compareTo(), с помощью которого тоже можно сравнивать объекты, например, строки. Тем не менее, они отличаются. equals() возвращает boolean (true, false), а метод compareTo() возвращает тип int.
Данная статья написана Vertex Academy. Можно пройти наши курсы Java с нуля. Детальнее на сайте.