В идеи все работает, работает все правильно ничего не могу понять почему не выполнено условие
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||!(obj instanceof Iphone)) return false;
Iphone phone = (Iphone) obj;
if(this.price != phone.price) return false;
boolean isFlag = false;
if(this.model == null|| phone.model == null) {
isFlag = this.model == phone.model;
}
if(this.color == null || phone.color == null){
isFlag = this.color == phone.color;
}
if(phone.color != null && phone.model!= null && this.color != null && this.model != null)
return this.model.equals(phone.model) && this.color.equals(phone.color);
else if(phone.color == null || this.color == null)
return isFlag && this.model.equals(phone.model);
else if(phone.model == null || this.model == null)
return isFlag && this.color.equals(phone.color);
return true;
}
//напишите тут ваш код
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));
}
}