"Для сравнения объектов по их внутреннему содержанию используют специальный метод equals."
Нас тут вроде как за деньги обучают?
А как тогда понимать вот это:
class BlackBox {
int varA;
int varB;
BlackBox(int varA, int varB){
this.varA = varA;
this.varB = varB;
}
}
class DemoBlackBox {
public static void main(String[] args) {
BlackBox object1 = new BlackBox(5, 10); //object1 идентичен object2
BlackBox object2 = new BlackBox(5, 10); //object1 идентичен object2
BlackBox object3 = object1; //ссылаются на один и тот же объект
System.out.println(object1.equals(object2)); //false - но это противоречит вашим словам
System.out.println(object1==object2); //false
System.out.println(object3.equals(object1)); //true - ссылки одинаковые
почему нас вводят в заблуждение, подавая ложную информацию? почему я, имея очень слабое представление о тонкостях джавы, должен сидеть и 2 часа ломать голову, почему у меня equals не работает?