equals
및 hashCode
메소드 간의 계약을 이해합니다. equals
이 무시되면 hashCode
도되어야합니다. hashCode
메서드를 오버라이드 (override) 해, 항상 같은 값을 돌려 줄 수가 있습니까? hashCode
메서드를 재정 의하여 호출 할 때마다 임의의 숫자를 반환 할 수 있습니까?equals 및 hashCode에 대한 추가 정보
0
A
답변
5
임의 값을 반환하려면 hashCode
을 재정의해서는 안됩니다. 같은 인스턴스에 대해 항상 동일한 값을 반환해야합니다.
이
명확하게 Javadoc에 명시되어 Java 어플리케이션의 실행 중에 같은 객체에서 호출 될 때마다는, hashCode 메소드는 같은 정수를 일관해 돌려해야하며, 어떠한 정보도 제공하지 객체에 대한 equals 비교에 사용 된 값이 수정됩니다. 같은
HashMap
및HashSet
같은 클래스에서 사용하는 경우는 매우 가난한hashCode
를 만들 것 때문에
당신은, 상수 값을 리턴해서는 안됩니다.
이
또한 자바 독 언급된다필요하지 않은 두 개의 개체 등호에 따른 다음의 각 hashCode 메소드 호출 (java.lang.Object 상위)에있어서, 동일하지 않은 경우 두 객체는 별개의 정수 결과를 생성해야합니다. 그러나 프로그래머는 부동 한 객체에 대해 고유 한 정수 결과를 생성하면 해시 테이블의 성능이 향상 될 수 있음을 인식해야합니다.
관련 문제
- 1. Java에 대한 추가 정보
- 2. SWFScan에 대한 추가 정보
- 3. awakeFromNib 및 viewDidLoad에 대한 추가 정보
- 4. 무엇이 equals 및 hascode이고 콜렉션과 관련이 있습니까?
- 5. C에서`({});`에 대한 추가 정보?
- 6. ASP.Net MVC보기에 대한 추가 정보
- 7. smpp에 대한 추가 정보 전달
- 8. Magento의 제품 페이지에 대한 추가 정보 추가
- 9. GetLogicalDrives 및 추가 정보 C++
- 10. 배열의 키에 대한 맵의 equals()
- 11. Java : 자동 equals() 및 hashCode()
- 12. == 및 java의 .equals()
- 13. Magento 추가 정보 탭에 제품 정보 추가
- 14. CException 및 CEmailLogRoute에 정보 추가
- 15. 링크가있는 QR 및 추가 정보
- 16. SugarCRM SugarCRM의 추가 정보 추가 정보 아이콘
- 17. Hadoop/HDFS 데이터로드에 대한 추가 정보
- 18. PNG 파일에 대한 추가 저수준 정보
- 19. SoapExtension에서 WebMethod 구현에 대한 추가 정보 전달
- 20. Zillow Neighborhood Boundaries에 대한 추가 정보 얻기
- 21. Meteor.js 사용자 계정 등록에 대한 추가 정보
- 22. arraylist에 추가 정보 추가
- 23. Windows 프로세스의 덤프 핸들 및 이에 대한 추가 정보
- 24. Capistrano 작업에 대한 추가 정보 얻기
- 25. SSL 및 아파치에 대한 정보
- 26. Vault.dll 및 Vaultcli.dll에 대한 정보
- 27. 간단한 SPARQL 쿼리에 대한 추가 정보
- 28. 'object Object'에 대한 추가 정보 얻기
- 29. 설치된 앱에 대한 추가 정보 얻기
- 30. Matlab 가이드 - 비디오에 대한 추가 정보 표시
** Can ** you? 확실한. 하지만 그렇게했다면 어떻게 될까요? –
그런 질문을하는 경우 반드시 계약을 다시 읽어야합니다. 해시 코드와 같음은 같은 동전의 두 얼굴입니다. 어느 쪽도 다른 사람 없이는 완전한 감각을 갖지 못합니다. 500 줄을 써 줄 수는 있지만, 더 잘 배우려면 스스로 알아야합니다. – Nazgul
상수 또는 무작위 int를 반환하도록 hashCode를 재정의하면 컴파일러는 당황하거나 불평하지 않았습니다. 이 사실이 궁금한데 왜 이것이 권고가되지 않는 이유입니까? HashSet, HashMap ..의 더 큰 그림을 그리워했습니다. Hashing에 의존합니다. – Keerthi