テスト目的でオプションのリストを作成したかったので、最初は次のようにしました。
ArrayList<String> places = new ArrayList<String>();
places.add("Buenos Aires");
places.add("Córdoba");
places.add("La Plata");
次に、コードを次のようにリファクタリングしました。
ArrayList<String> places = new ArrayList<String>(
Arrays.asList("Buenos Aires", "Córdoba", "La Plata"));
これを行うより良い方法はありますか?
ベストアンサー1
単に ArrayList として宣言する方が簡単になりますがList
、ArrayList にする必要はありますか?
List<String> places = Arrays.asList("Buenos Aires", "Córdoba", "La Plata");
または、要素が 1 つしかない場合:
List<String> places = Collections.singletonList("Buenos Aires");
これは、不変でplaces
あることを意味します(変更しようとすると例外がスローされます)。UnsupportedOperationException
具体的な可変リストを作成するには、不変リストからArrayList
を作成します。ArrayList
ArrayList<String> places = new ArrayList<>(Arrays.asList("Buenos Aires", "Córdoba", "La Plata"));
正しいパッケージをインポートします。
import java.util.Arrays;