Javaにおけるオブジェクトのリストを定数として宣言する方法


方法1: final修飾子を使用する方法

import java.util.ArrayList;
import java.util.List;
public class Constants {
    public static final List<String> MY_LIST = new ArrayList<>();
    static {
        MY_LIST.add("オブジェクト1");
        MY_LIST.add("オブジェクト2");
        MY_LIST.add("オブジェクト3");
    }
}

この方法では、final修飾子を使用して定数リストを宣言します。staticイニシャライザを使用して、リストに初期値を追加します。定数リストは他のクラスからアクセス可能であり、変更することはできません。

方法2: Collections.unmodifiableList()を使用する方法

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
public class Constants {
    public static final List<String> MY_LIST;
    static {
        List<String> tempList = new ArrayList<>();
        tempList.add("オブジェクト1");
        tempList.add("オブジェクト2");
        tempList.add("オブジェクト3");
        MY_LIST = Collections.unmodifiableList(tempList);
    }
}

この方法では、Collections.unmodifiableList()メソッドを使用してリストを変更不能な形式にします。MY_LISTはfinal修飾子を持ち、他のクラスから読み取り専用としてアクセスできます。

方法3: イニシャライザブロックを使用する方法

import java.util.ArrayList;
import java.util.List;
public class Constants {
    public static final List<String> MY_LIST;
    static {
        List<String> tempList = new ArrayList<String>() {{
            add("オブジェクト1");
            add("オブジェクト2");
            add("オブジェクト3");
        }};
        MY_LIST = tempList;
    }
}

この方法では、匿名クラスを使用してイニシャライザブロック内でリストを初期化します。MY_LISTはfinal修飾子を持ち、他のクラスから読み取り専用としてアクセスできます。

これらの方法を使用して、Javaでオブジェクトのリストを定数として宣言することができます。適切な方法を選択し、コードに組み込むことで、目的に応じた定数リストを作成できます。