2016-09-05 6 views
1

、クラスがComparable実装したときに、式の可変TDateが、その後、Comparable<Date>なぜEnum道具Comparable<E>ない実装し、LongComparable<Long>を実装して、クラス名は、例えば、StringComparable<String>を実装していますComparable<Enum<E>>列挙型はComparableを実装<E>なぜ匹敵<Enum<E>通常>

+2

これはhttp://stackoverflow.com/questions/3061759/why-in-java-enum-is-declared-as-enume-extends-enumeからのフォールアウトと思われます。 –

答えて

2

EはすでにEnum<E>です。

Enum<E>を含めることができない理由は、Enum<E>を意味するので、Eのみが許容可能です。

+0

サー、「Enum user2018791

+0

@ user2018791列挙型は、制限されたものではありません。 –

0

enumクラスはそうEが既にEnum<E>であり、それはすでにComparable<E>を実装したことは、暗黙的にその中にEnum部を有している

public abstract class Enum<E extends Enum<E>> ... 

として定義されているからです。

this questionを参照すると、この再帰的な方法で宣言された理由(脳を傷つけることはないため)について詳しくは、こちらをご覧ください。

+0

'Enum'が' Comparable > 'を実装している場合、何が間違っていますか? – user2018791

関連する問題