У меня есть свой собственный класс, который является объектом с набором других объектов внутри него.то есть
public class Curve{
@Override
public Collection<CurvePoint> getCurvePoints() {
return curvePoints;
}
@Override
public boolean equals(Object other) {
if (other instanceof Curve) {
Curve otherCurve = (Curve) other;
return getCurvePoints().equals(otherCurve.getCurvePoints());
}
return false;
}
}
, где класс CurvePoint подразумевает Comparable, а также переопределяет метод equals следующим образом:
public class CurvePoint implements ICurvePoint, Comparable<CurvePoint> {
@Override
public int compareTo(CurvePointother) {
return getSnapDate().compareTo(other.getSnapDate());
}
@Override
public boolean equals(Object other) {
if (other instanceof CurvePoint) {
CurvePointotherPoint = (CurvePoint) other;
return (getId().equals(otherPoint.getId())
&& getBid().getRate() == otherPoint.getBid().getRate()
&& getOffer().getRate() == otherPoint.getOffer().getRate() && getMid()
.getRate() == otherPoint.getMid().getRate());
}
return false;
}
}
Мой вопрос: когда у меня есть 2 коллекции Curve, как мне сравнитьэти, чтобы проверить, равны ли они?Когда я использую .equals, он всегда просто возвращает false, есть ли способ сделать это без зацикливания обеих коллекций?