未定義の型パラメーターでジェネリック型を拡張することは不可能ではありませんか ex:
class Foo extends enum<E>
彼らはそれをどのように拡張しますか?
編集:また、values() メソッドはどこで定義されていますか?
前もって感謝します
未定義の型パラメーターを使用してジェネリック型を拡張することは、実際には違法です。ただし、列挙型はそうしません。一部の Java コードを逆コンパイルしていて、<E>そこに (そして列挙型の名前が付けられていないE) が表示された場合、逆コンパイラはジェネリックを適切に処理していません。
列挙型は暗黙的に extends しEnum<YourEnumType>ます。つまり、コンパイラは暗黙的にclass YourEnumType extends Enum<YourEnumType>. 独自の型を渡すことで、や関数が異なる型の値を拒否Enumできるようになります。compareTovalueOfenum