【发布时间】:2018-12-06 15:39:09
【问题描述】:
如果流为空,是否有一种创建不同列表的好方法?
如果special 为空,我想用另一个值创建一个新的List。
但是如果special 不为空,我想基于special 创建List。
我不知道有没有一种很好的方法可以将这些与流结合起来
这是一个不太好的解决方案
class X {
public static void main(String[] args) {
String myString = "test";
List<String> special = getSpecialVals();
List<String> newVals =
special.isEmpty() ?
Arrays.asList(myString) :
special.stream().map(s ->
createNewVal(s)).collect(Collectors.toList());
}
static public List<String> getSpecialVals() {
// but can return empty list
return Arrays.asList("One", "Two");
}
static public String createNewVal(String origVal) {
return origVal.toUpperCase();
}
}
【问题讨论】:
-
我认为没有比您已经在做的更好的方法了。
标签: java collections java-8 java-stream