Java で Enum を使用してシングルトンを作成する場合、2 つの一般的なアプローチがあります。 コンストラクターのない列挙型を利用するインスタンス メソッドを使用するか、列挙型内で静的メソッドを使用します。それぞれのアプローチには独自のニュアンスがあります。
<code class="java">public enum Elvis { INSTANCE; private int age; public int getAge() { return age; } }</code>
この例では、シングルトンは Elvis.INSTANCE.getAge() を介してアクセスされます。このアプローチでは、オブジェクトの明確なインスタンスが提供され、インスタンス固有の変数とメソッドの両方にアクセスできるようになります。
<code class="java">public enum Elvis { INSTANCE; private int age; public static int getAge() { return INSTANCE.age; } }</code>
この場合、シングルトンは Elvis を使用してアクセスされます。 .getAge()。このアプローチは、シングルトンの動作がインスタンス固有の変数に大きく依存しない場合に便利な静的メソッドを強調します。
これらのアプローチの選択は、特定の要件によって異なります。 :
以上がEnum シングルトン: コンストラクターのないインスタンスと静的メソッド - どちらのアプローチを選択しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。