1. ホーム
  2. java

[解決済み] JavaでEnumをシングルトンとして使用するための最良の方法は何ですか?

2023-04-27 02:07:48

質問

SO質問で書かれたことを基に Javaにおける最高のシングルトン実装 - すなわちシングルトンを作成するためにenumを使用することについて - (コンストラクタ省略)の違い/長所/短所は何ですか?

public enum Elvis {
    INSTANCE;
    private int age;

    public int getAge() {
        return age;
    }
}

を呼び出して Elvis.INSTANCE.getAge()

とし

public enum Elvis {
    INSTANCE;
    private int age;

    public static int getAge() {
        return INSTANCE.age;
    }
}

を呼び出して Elvis.getAge()

どのように解決するのですか?

Elvis.INSTANCEを渡すのは簡単ですが、Elvis.classを渡してプロパティを見つけることはできません(クラスの静的プロパティを見つけるように意図的にコード化されている場合を除く)。

基本的にシングルトンパターンを使うのは が必要なときだけです。 インスタンスが欲しいときだけです。もし静的メソッドがうまくいくなら、それを使えばいいし、enumで悩む必要はないでしょう。