Почему при таком решении не проходит второе требования, кто-нибудь может объяснить? package com.javarush.task.pro.task10.task1010; ipackage 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; } @Override public boolean equals(Object obj){ if(this==obj) return true; if(obj == null) return false; if(!(obj instanceof Iphone)) return false; Iphone iphone1 = (Iphone)obj; if(this.price !=iphone1.price) return false; if(this.color == null && this.model == null) return iphone1.color == null && iphone1.model == null; if(this.color.equals(iphone1.color) == this.model.equals(iphone1.model)) return true; return false; } 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)); } } задача под названием "Два айфона" Требования: • В классе Iphone должен быть переопределен метод public boolean equals(Object). • Метод equals должен возвращать true для двух равных объектов типа Iphone и false — для разных. • Метод equals должен возвращать false, если в него передали null.