equals()
메소드 (및 그와 관련하여 compareTo()
메소드)는 성능이 높은 핫스팟이 될 수 있습니다 (예 : 트래픽이 많은 경우) HashMap
. 나는 사람들이 필요하다고 증명할 때 이러한 방법을 최적화하기 위해 어떤 트릭을 채택했는지 궁금합니다.equals() 메소드의 최적화
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
...
}
다른 당신이 좋은 수행 equals()
방법 작성을위한 가이드 라인이 될 수 가로 질러 온 :
예를 들어 IntelliJ IDEA는 다음 생성?
동일한 값으로 호출 할 때 해시 테이블에서 동일한 인스턴스를 제거하는 팩토리 메서드를 언급해야합니다. – devgeezer
'인턴하기'에주의해야합니다. 잘못 수행되면 성능 문제 및 저장소 누수가 발생할 수 있습니다. String.intern() 호출은 나쁜 생각 일 수 있습니다. –
다음은 유의해야 할 좋은주의 사항입니다. Equals (...)가 용납 할 수 없을만큼 오랜 시간을 보냈다는 확실한 증거가 없다면 최적화에 대한 조언이 다른 곳에서 일반적으로 보일 것이라고 생각합니다. – devgeezer