ホームページ >Java >&#&チュートリアル >Java の Enum 自己参照型パラメータはどのようにしてタイプセーフな比較と API 設計を可能にするのでしょうか?
Java Enum 定義について
Java Enum クラスは次のように定義されます。
class Enum<E extends Enum<E>>
この型パラメータは次のことを示しますenum の型引数は、それ自体が同じ型引数を持つ enum から派生する必要があります。言い換えれば、列挙型の型パラメータは列挙型自体を参照します。
たとえば、StatusCode という次の列挙型を考えてみましょう。
public class StatusCode extends Enum<StatusCode>
ここで、列挙型の型引数は StatusCode です。これは、E が StatusCode に等しく、Enum
Enum 自己参照の目的
この自己参照の目的type パラメータは、Enum クラスが API 内でそれ自体を参照できるようにします。たとえば、Enum
類似した型パラメータの例
類似した型type パラメーターは、型がそれ自体を参照する必要がある他の状況でも使用できます。たとえば、ProtocolBuffers の C# ポートで使用される次のインターフェイスについて考えてみましょう:
public interface IBuilder<TMessage, TBuilder> where TMessage : IMessage<TMessage, TBuilder> where TBuilder : IBuilder<TMessage, TBuilder> public interface IMessage<TMessage, TBuilder> where TMessage : IMessage<TMessage, TBuilder> where TBuilder : IBuilder<TMessage, TBuilder>
これらのインターフェイスを使用すると、API のユーザーに実装の詳細を公開することなく、ビルダーが適切なメッセージを作成したり、その逆を行うことができます。
以上がJava の Enum 自己参照型パラメータはどのようにしてタイプセーフな比較と API 設計を可能にするのでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。