2020
10-28
10-28
关于Java8中map()和flatMap()的一些事
两个方法的背景这两个方法看起来做着同样的事情,但实际上又有些不一样。看源码部分是这样的packagejava.util.stream;map()方法/***@param<R>Theelementtypeofthenewstream*@parammappera<ahref="package-summary.html#NonInterference"rel="externalnofollow"rel="externalnofollow">non-interfering</a>,*<ahref="package-summary.html#Statelessness"rel="externalnofollow"rel="externalnofollow"...
继续阅读 >
Java8的flatMap函数,作用是:如果有值,为其执行mapping函数返回Optional类型返回值,否则返回空Optional。见到的映射函数往往都只有一句话,连大括号都不需要加的,如下:StringpersonValue=Optional.ofNullable(map.get("person")).flatMap(value->Optional.of(value.toString().trim())).orElse("");可是如果映射函数里,可能会抛出异常,该怎么办?方法也是使用try/catch,但是一定要有返回值return,返回值类型...