4
誰かがこの意味を説明できますか?Enum宣言で使用されているジェネリックを説明してください
Enum<T extends Enum<T>>
これは循環的な定義のようであり、私はそれが最も少なく言い表すことを非常に混乱させることがわかります。
誰かがこの意味を説明できますか?Enum宣言で使用されているジェネリックを説明してください
Enum<T extends Enum<T>>
これは循環的な定義のようであり、私はそれが最も少なく言い表すことを非常に混乱させることがわかります。
good explanation in the Java Generics FAQがあります。エンドビットから
:
がそれをまとめると、
Enum<E> extends Enum<E>>
として をdecypheredすることができます宣言:Enum
は、 だけそのサブタイプのためにインスタンス化することができる汎用タイプです 、それらのサブタイプが継承します一部は サブタイプ固有の引数(または はサブタイプに依存します)を取る有用なメソッドです。
(私も共感しない - 再帰的に汎用的な宣言は、痛みのあるC#に私のプロトコルバッファポートががさらに悪くなる。これは、それぞれが自分自身とにお互い... I避難所」を参照してください2つの宣言が必要です。彼らを簡素化する方法を見つけました)