2014-01-07 4 views
1

Почему всегда переопределять hashcode(), если переопределяет equals()? Приведите пример ..Метод HashCode и Equals в объекте Java

+4

[Нажмите меня нежно] (http://www.javaworld.com/article/2074996/hashcode-and-equals-method-in-java-object---a-pragmatic-concept.html). – Maroun

+1

Они не взаимозаменяемы, что делает ваш вопрос бессмысленным. Это похоже на вопрос: «В чем разница между« Строкой »и обычным« списком »? –

+0

http://stackoverflow.com/questions/17027777/relationship-between-hashcode-and-equals-method-in-java – ankurtr

ответ

1

Существует только один метод equals() и hashcode() в классе объектов. Обычной или не нормальной версии методов нет.

Если вы используете какую-либо связанную с хешем структуру данных, такую ​​как HashMap или HashSet, вам необходимо переопределить метод hashcode(). Однако в целом рекомендуется переопределить hashcode() всякий раз, когда вы переопределяете equals().

Смежные вопросы