Сравнение двух объектов с использованием хэшкодаJAVA

Программисты JAVA общаются здесь
Anonymous
Сравнение двух объектов с использованием хэшкода

Сообщение Anonymous »

У меня есть класс, который включает наборы и опционы: < /p>

Код: Выделить всё

class SomeRequest{

Set longs;
Optional name;
Optional opLongs;
Optional toBeIgnored;
Collection fields

}
< /code>
Я ищу способы сравнить два объекта вышеуказанного класса (где я ранее сохранил хэшкод одного объекта), но я хочу игнорировать определенные поля. Обратите внимание, что, поскольку это только один вариант использования, я не хочу переопределять HashCode 
.

Код: Выделить всё

private int getParameterHash(SomeRequest req){
SomeRequest newReq = new SomeRequest(
req.longs,
req.name,
req.opLongs,
null,    //because I want to ignore this for my use case
req.fields
);
return newReq.hashCode();
}
Я сохраняю этот хэш в DB, ​​а затем, когда я сталкиваюсь со вторым объектом, я рассчитываю этот же хэш и сравниваю его с тем, что я уже должен убедиться, что они равны.
Вопросы: < /p>
  • Есть ли лучший способ сделать это? < /li> не заботится о заказе, но коллекция делает. Итак, как заставить его игнорировать порядок?


Подробнее здесь: https://stackoverflow.com/questions/794 ... g-hashcode

Вернуться в «JAVA»