如何初始化可选<List<T>>?

Ant*_*s42 4 java java-8 option-type

这相当简单。我有一个列表字段,可能存在也可能不存在(但必须与null未初始化时不同),但是虽然我可以

List<String> mylist = new ArrayList<>();
Run Code Online (Sandbox Code Playgroud)

我不能做

Optional<List<String>> mylist = Optional.of(new ArrayList<String>());
Run Code Online (Sandbox Code Playgroud)

因为类型不匹配。这是不幸的。我不想硬连线我的代码来使用 ArrayList。

有没有解决的办法?

Mik*_*phy 7

我认为错误在于你的语法。

这对我有用。

Optional<List<String>> mylist = Optional.of(new ArrayList<String>());
Run Code Online (Sandbox Code Playgroud)

注意 ; 的变化 到该行的末尾。