В чем разница оператора сравнения "==" и метода 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 от "=="? Если нет отличия, то смысл от этого метода?