这很简单。我有一个列表字段,它可能存在,也可能不存在(但必须与null
作为未初始化的字段不同),但是尽管如此,我可以这样做:
List<String> mylist = new ArrayList<>();
我做不了
Optional<List<String>> mylist = Optional.of(new ArrayList<String>());
由于类型不匹配,这是不幸的。我不想硬编码我的代码来使用ArrayList。
有没有解决办法?
这很简单。我有一个列表字段,它可能存在,也可能不存在(但必须与null
作为未初始化的字段不同),但是尽管如此,我可以这样做:
List<String> mylist = new ArrayList<>();
我做不了
Optional<List<String>> mylist = Optional.of(new ArrayList<String>());
由于类型不匹配,这是不幸的。我不想硬编码我的代码来使用ArrayList。
有没有解决办法?
Optional<List<String>> mylist = Optional.of(new ArrayList<String>());
<maven.compiler.source>1.7</maven.compiler.source>
<maven.compiler.target>1.7</maven.compiler.target>
Eclipse将其作为Java编译器导入,然后设置为JDK兼容性为1.7,并且发出了正确的抱怨。
将其设置为1.8后,我的代码现在可以编译。
List
放入Optional
很少是一个好主意。它是否应该与空列表不同? - Tagir Valeev