Що тут не так? Все компілюється, виводиться true. Не розумію чому не зараховує другий пункт, адже порівнюю об`єкти через метод getClass(), також пробував таким чином< (!(o instanceOf Iphone)) >, все одно не канає -_-
Вже пішов далеко вперед, але ось цього не можу досі зрозуміти.
package ua.javarush.task.pro.task10.task1010;
import java.util.Objects;
/*
Два айфони
*/
public class Iphone {
private String model;
private String color;
private int price;
public Iphone(String model, String color, int price) {
this.model = model;
this.color = color;
this.price = price;
}
@Override
public boolean equals(Object o){
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
Iphone i = (Iphone) o;
return price==i.price &&
model.equals(i.model) &&
color.equals(i.color);
}
public static void main(String[] args) {
Iphone iphone1 = new Iphone("X", "Black", 999);
Iphone iphone2 = new Iphone("X", "Black", 999);
System.out.println(iphone1.equals(iphone2));
}
}