У меня есть класс человека, у которого есть имя и список друзей в HashSet.
Я хочу переопределить метод equals
для этого класса Person. Ниже то, что я написал до сих пор.
Но я не уверен в этом, потому что знаю, что HashSet не обязательно должен быть в порядке, и я также слышал, что мне нужно переопределить метод HashCode.
Какие изменения я должен внести в приведенные ниже коды, чтобы правильно реализовать метод equals?
public boolean equals(Note target){
if(this.name==target.getName() && this.friends == target.getFriends()){
return true;
}
return false;
}
public HashSet<Person> getFriends(){
return this.friends;
}
изменить
//override hashCode()
public int hashCode() {
return name.hashCode() + friends.hashCode();
}
public boolean equals(Object obj)
, а затем проверить правильность типа и т. д. ИспользуяNote
в качестве параметра, вы overload равно, что является чем-то другим. - person matsev   schedule 04.09.2011