我想创建一个用于测试的选项列表。起初,我这样做:
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"));
有更好的方法吗?
如果您只是将其声明为List,这会更简单——它必须是ArrayList吗?
List<String> places = Arrays.asList("Buenos Aires", "Córdoba", "La Plata");
或者如果您只有一个元素:
List<String> places = Collections.singletonList("Buenos Aires");
这意味着位置是不可变的(尝试更改它将导致引发UnsupportedOperationException异常)。
要创建一个可变列表,即一个具体的ArrayList,您可以从不可变列表中创建一个ArrayList:
ArrayList<String> places = new ArrayList<>(Arrays.asList("Buenos Aires", "Córdoba", "La Plata"));
并导入正确的软件包:
import java.util.Arrays;