1 回答
TA贡献1780条经验 获得超5个赞
您可以使此方法getWhiskeyFromCountry接受Optional<String>作为参数
private List<Whiskey> getWhiskeyFromCountry(Optional<String> origin)
然后如果Optional为空返回空列表或返回基于的列表filter,如果用户输入错误origin仍然会得到空列表
return origin.map(o->bottles.stream()
.filter(b -> b.getOrigin().equals(o))
.collect(Collectors.toList())).orElse(Collections.EMPTY_LIST);
或者在上面的代码中,您可以进行一些小的调整以返回List此方法getWhiskeyFromCountry
private List<Whiskey> getWhiskeyFromCountry(String origin) {
return bottles.stream()
.filter(b -> b.getOrigin().equals(origin))
.collect(Collectors.toList());
}
并在 main 方法中使用Optional.map
Optional<String> origin = Optional.ofNullable(routingContext.request().params().get("filter"));
List<Whiskey> result = origin.map(o->getWhiskeyFromCountry(o))
.orElse(bottles);
添加回答
举报