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

前端之家收集整理的这篇文章主要介绍了如何正确使用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);

猜你在找的Java相关文章