@hax
junior developer

В чем смысл метода Object.equals(Object ob) в Java?

В чем разница оператора сравнения "==" и метода Object.equals(Object ob)? В документации пишется, что метод equals сравнивает содержимое объектов и выводит логическое true, если содержимое объектов совпадает, и false в противном случае. Однако на практике это не так:
public class Application {
    public static void main(String args[]) {
        A a1 = new A(3);
        A a2 = new A(2);
        System.out.println(a1.equals(a2));

    }
}

Результатом будет false.
А если обе ссылки приравнять:
public class Application {
    public static void main(String args[]) {
        A a1 = new A(3);
        A a2 = new A(2);
        a1 = a2;
        System.out.println(a1.equals(a2));

    }
}

То результатом будет true. Скажите пожалуйста, в чем отличие метода equals от "=="? Если нет отличия, то смысл от этого метода?
  • Вопрос задан
  • 212 просмотров
Решения вопроса 1
Rou1997
@Rou1997
String s1 = "abc";
String s2 = "abc";
s1.equals(s2) // true
s1 == s2 // false


В документации пишется, что метод equals сравнивает содержимое объектов

Но вы сами должны задать для него логику в своем классе, иначе как он поймет какое "содержимое" сравнивать, у вас же обычно в классе не одно поле и не два?
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
Bell Integrator Ульяновск
До 400 000 ₽
Bell Integrator Хабаровск
До 400 000 ₽
Bell Integrator Ижевск
До 400 000 ₽
03 мая 2024, в 00:45
1000 руб./за проект
02 мая 2024, в 23:56
2000 руб./за проект