如何声明带有值的数组列表?

2022-08-31 05:49:53

Java中的ArrayList或List声明已经质疑并回答了如何声明空的,但是我如何声明带有值的ArrayList?ArrayList

我尝试了以下方法,但它返回语法错误:

import java.io.IOException;
import java.util.ArrayList;

public class test {
    public static void main(String[] args) throws IOException {
        ArrayList<String> x = new ArrayList<String>();
        x = ['xyz', 'abc'];
    }
}

答案 1

在Java 9+中,你可以做到:

var x = List.of("xyz", "abc");
// 'var' works only for local variables

Java 8 使用

Stream.of("xyz", "abc").collect(Collectors.toList());

当然,您可以使用接受 Collection 的构造函数创建一个新对象:

List<String> x = new ArrayList<>(Arrays.asList("xyz", "abc"));

提示:文档包含非常有用的信息,通常包含您要查找的答案。例如,下面是该类的构造函数:ArrayList


答案 2

用:

List<String> x = new ArrayList<>(Arrays.asList("xyz", "abc"));

如果以后不想向列表中添加新元素,还可以使用 (Arrays.asList 返回固定大小的列表):

List<String> x = Arrays.asList("xyz", "abc");

注意:如果您愿意,也可以使用静态导入,然后它看起来像这样:

import static java.util.Arrays.asList;

...

List<String> x = new ArrayList<>(asList("xyz", "abc"));

List<String> x = asList("xyz", "abc");