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);
添加回答
舉報