如何正确使用Java 8 Optional可以有条件地返回值或抛出异常?

我想实现类似下面的代码来验证我的@RestController中的输入,以便我可以避免显式空检查,但是我被卡住了.
public @ResponseBody Response getCityDetails(@RequestParam("city") final String city) {
    Optional.of(city).ifPresent(name -> {
        // return value
        return service.getDetails(name);
    }).orElseThrow(//some Exception);
}

解决方法

试试这个
Optional.ofNullable(city)
        .map(name ->service.getDetails(name))
        .orElseThrow(//some Exception);

相关文章

最近看了一下学习资料,感觉进制转换其实还是挺有意思的,尤...
/*HashSet 基本操作 * --set:元素是无序的,存入和取出顺序不...
/*list 基本操作 * * List a=new List(); * 增 * a.add(inde...
/* * 内部类 * */ 1 class OutClass{ 2 //定义外部类的成员变...
集合的操作Iterator、Collection、Set和HashSet关系Iterator...
接口中常量的修饰关键字:public,static,final(常量)函数...