Item11 - equals를 재정의하려거든 hashCode도 재정의하라(2)
좋은 해시 함수라면 서로 다른 인스턴스에 다른 해시코드를 반환한다. 이상 적인 해시 함수는 서로 다른 인스턴스들을 32bit 정수 범위에 균일하게 분배해야 한다. 다음은 좋은 hashCode를 작성하는 간단한 요령이다. public final class PhoneNumber { private final short areaCode, prefix, lineNum; public PhoneNumber(int areaCode, int prefix, int lineNum) { this.areaCode = rangeCheck(areaCode, 999, "area code"); this.prefix = rangeCheck(prefix, 999, "prefix"); this.lineNum = rangeCheck(line..
2023.11.22