мне нужно написать метод Equals() для класса команд, который соответствует предоставленному методу HashcodeEquals() метод помощи
метод HashCode
public int hashCode()
{
return this.getPro().hashCode()
+ this.getTeam().hashCode();
}
Мой равно метод, но не будет работать
public boolean equals(Object obj)
{
ClassName pro = (ClassName) obj;
return (this.getPro().hashCode() == pro.getPro());
(this.getTeam().hashCode() == pro.getTeam());
}
Любая помощь будет хорошо
Вы сравниваете hashCodes с объектами. Это не сработает. Что вы пытаетесь достичь? Как вы думаете, hashCode()? –
Если вы собираетесь помещать объекты в HashSet или HashMap, то два одинаковых объекта должны возвращать один и тот же хэш-код, а два объекта, которые возвращают разные хэш-коды, не должны быть равны.Два неравных объекта могут возвращать один и тот же хэш-код (существует 4 миллиарда возможных хэш-кодов, но, возможно, еще много возможных строк). Вы не можете определить equals() в терминах hashCode(); он может сказать, что два неравных объекта равны. –