내 Previous Question에 따라 Angelika Dissecting Enum에서 기사를 읽었습니다. 하위 유형에 대해서만 유형을 인스턴스화 할 수 있고 부속 유형은 일부 공통적 인 메소드를 상속한다는 점을 제외하고는 해당 항목을 이해할 수 없습니다.Angelika Langer Enum <E extends Enum <E>> 디코딩
- 이 방식으로 선언 된 추상 Enum 클래스의 의미는 무엇입니까? 어떻게 도움이됩니까?
- 마지막 부분의 문서에는 세 가지 측면이 설명되어 있습니다. 누가 나에게 더 쉽게 설명 할 수 있습니까?
- 코드 스케치에서 Enum 클래스가
compareTo
메서드를 선언하고 있음을 알 수 있습니다. Enum이 암시 적으로Comparable interface
을 구현할 때 자체적으로compareTo
메서드를 정의해야하는 이유는 무엇입니까? - 재귀 generics의 개념처럼 보입니다. 재귀 제네릭은 정확히 무엇을 의미합니까? R & D 비트를 수행하고 마지막 질문에 대한 대답을 이해 한 후에 클래스가 자체적으로 매개 변수화되도록합니다.
여전히 자세한 설명이 유용 할 것입니다. Enum<Color extends Enum<Color>>
같은 말을 할 때 당신이 유형 매개 변수가 Color
을 일치하는 Enum
을 확장 있는지 확인합니다 제네릭 형식 매개 변수 Color
를 선언하는 것처럼
"왜 그런 식으로 말하지 않았습니까?"- 그 이유는 무엇입니까? 유효하지 않은 Java;) –
솔직하게 말하면 내 강조는 그 것이다. 나는 그것의 유효한 java를 안다. 내 요점은 전체 개념을 이해하는 것입니다. @OliCharlesworth – benz
C++에서이 관용구는 [Curiously recurring template pattern] (http://en.wikipedia.org/wiki/Curiously_recurring_template_pattern)으로 알려져 있습니다. Java에 대한 참조는 다음 페이지를 참조하십시오. http://en.wikipedia.org/wiki/Talk:Curiously_recurring_template_pattern – nosid