Найти уникальные и общие точки в двух наборах в java, не используя наборы, списки и т. Д. - PullRequest
0 голосов
/ 23 февраля 2020

Итак, моя проблема в том, что мне нужно найти пересечения и различия в двух заданных наборах. Пересечение почти выполнено, но оно выдает такие ошибки, как «required: int, found: oo.hide.Point» или «required: oo.hide.Point [], найдено: int []». Я не могу использовать какие-либо наборы, списки или другие встроенные / динамические коллекции. Есть ли способ отработать эти два метода? Буду очень благодарен за помощь.

``


1 Ответ

0 голосов
/ 23 февраля 2020

Я сказал вам в комментариях, что вам нужно переопределить метод equals(), чтобы assertThat работал правильно. То, как вы переопределяете это не правильно, вот как вы должны написать это:

@Override
public boolean equals(Object o) {
    if (this == o) return true;
    if (o == null || getClass() != o.getClass()) return false;
    PointSet pointSet= (PointSet) o;
    return Arrays.equals(pointArr, pointSet.pointArr);
}

PS: Не забудьте переопределить equals() в классе Point.

...