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 iphone = (Iphone) o;
return price == iphone.price &&
Objects.equals(model, iphone.model) &&
Objects.equals(color, iphone.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));
}
}
TopDog777
28 уровень
Правильно ли я понимаю, что эта строка if (obj == null || getClass() != obj.getClass()) в решении автора проверяет наполнение объекта ? или что то другое ?
Решен
Комментарии (1)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
hidden #598481
14 июня 2022, 11:11
Что значит "наполнение объекта"?
В этой строке написано, что если o равно null либо если класс объекта o отличается от класса объекта this, то объекты разные.
+1