通过 List.of() 进行 ArrayList 初始化

2022-09-04 02:06:47

来自 Core Java for the Impatient:

...数组列表没有初始值设定项语法。你能做的最好的事情就是构造一个数组列表,如下所示:

ArrayList<String> friends =  new ArrayList<>(List.of("Peter", "Paul"));

但是当我尝试编译此代码时出现错误:

error: cannot find symbol
                ArrayList<String> friends = new ArrayList<>(List.of("Peter", "Paul"));
                                                            ^
  symbol:   variable List

我的进口商品是:

import java.util.List;
import java.util.ArrayList;

谢谢


答案 1
import java.util.ArrayList;
import java.util.List;

// ...
ArrayList<String> friends =  new ArrayList<>(List.of("Peter", "Paul"));

假设您至少运行Java 9,这完全没问题。


在Java 9之前,您需要选择而不是:Arrays.asList()List.of()

ArrayList<String> friends =  new ArrayList<>(Arrays.asList("Peter", "Paul"));

答案 2

您可以使用谷歌番石榴。它有很多实用方法,例如

List<String> list = Lists.newArrayList(....)

使用java 9,你也可以做同样的事情。


推荐