| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Java: Общие вопросы > как бы вы ответили на следующий вопрос ? |
| Автор: Wyatt 13.6.2010, 18:14 |
| Привет. Вот я новичок в java, и не могу понять как правильно ответить на вот такой вопрос: Какие правила и соглашения существуют для реализации методов hashCode, equals ? |
| Автор: susanin 13.6.2010, 23:17 |
| по поводу equals нашел для c# но для java будет то же самое x.Equals(x) возвращает true. x.Equals(y) возвращает то же значение, что и y.Equals(x). (x.Equals(y) && y.Equals(z)) возвращает true в том и только в том случае, когда x.Equals(z) возвращает true. Последовательные вызовы x.Equals(y) возвращают одно и то же значение до тех пор, пока не будут изменены объекты, на которые ссылаются x и y. x.Equals(null) возвращает false. |
| Автор: Vasay 13.6.2010, 23:29 |
| Wyatt, Почитайте: http://www.ibm.com/developerworks/ru/library/j-jtp05273/ |
| Автор: Skipy 15.6.2010, 09:39 | ||
Бесплатный совет: читайте документацию! equals: http://java.sun.com/javase/6/docs/api/java/lang/Object.html#equals(java.lang.Object) hashCode: http://java.sun.com/javase/6/docs/api/java/lang/Object.html#hashCode() P.S. Это действительно так сложно? |
| Автор: MaxPayneC 15.6.2010, 10:45 |
| В случае, если x.equals(y) есть true, x.hashCode() должен быть равен y.hashCode(). |