【发布时间】:2019-02-19 12:39:40
【问题描述】:
如果作为参数传递的列表为 空 而不使用 if 语句,我如何更改此方法以使其返回 null?
default String getFiltersExpression(List<WorklistViewDto.Filter> filters) {
return Optional.ofNullable(filters)
.map(Collection::stream)
.orElseGet(Stream::empty)
.map(WorkListViewMapper::formatValue)
.map(f -> f.getCriteria() + f.getOperator() + f.getValue())
.collect(Collectors.joining(" AND ", "(", ")"));
}
【问题讨论】:
-
return Optional...orElse(null);(List不是数组) -
这里没有数组。你是说名单吗?
-
是的,对不起。
-
这里的问题是如果我输入 orElse(null) 或 .orElseGet(Stream::empty) 或 orElseGet(null)。该方法返回一个字符串 = "()"
-
一个好的旧
if声明怎么样?
标签: java java-8 java-stream optional