2011-03-03 6 views

답변

25

EnumSet 실제로 두 가지 구현을 갖는다. EnumSet 반환의 공장 방법 중 하나가 전달 열거 클래스에 따라 달라집니다. (값을 저장하는 배열이 어쨌든 필요하기 때문에)

이러한 최적화 EnumMap에 대한 이해가되지 않습니다 따라서 EnumMap는 구체적인 클래스입니다.

+0

확인. 그것은 당장 의미가 있습니다 :) –

6

EnumSet은 열거 형 (64 개의 요소가 임계 값 임)에 따라 RegularEnumSetJumboEnumSet의 두 가지 구현을 사용합니다. 팩토리 메소드는 적절한 구현에 위임합니다.

EnumMap은 모든 열거 형 (모든 열거 형 항목의 배열과 값의 동일한 크기 배열)을 유지하므로 추상 클래스가 필요하지 않습니다.

관련 문제