Добрый день!
Система пишет, что для разных айфонов должно выдаваться false. Я проверила в идее, поменяла у айфонов параметры и фалс выдает. Что от меня тут требуется?
И еще вопрос - я в методе equals, точнее внутрь этого метода, пишу iphone (объект, который знаю), а могу ли я нейтральный метод создать, который будет сравнивать два объекта? Что-то типа public boolean equals(Object obj1, Object obj2) и дальше по той схеме, которую написала.
Спасибо!
package com.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;
}
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (!(obj instanceof Iphone))
return false;
Iphone iphone = (Iphone) obj;
if (price != iphone.price)
return false;
if (this.model == null)
return iphone.model == null;
if (this.color == null)
return iphone.color == null;
if (model != iphone.model)
return false;
if (color != iphone.color)
return false;
return this.color.equals(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));
}
}