理解和运用Java中的Lambda (7)

类似于Mybatis Generator,上面的DAO实现笔者已经做了一个简单的生成器,只要配置好数据源的连接属性和表过滤规则就可以生成对应的实体类和DAO类。

基于Optional进行VO设置值 // 假设VO有多个层级,每个层级都不知道父节点是否为NULL,如下 // - OrderInfoVo // - UserInfoVo // - AddressInfoVo // - address(属性) // 假设我要为address属性赋值,那么就会产生箭头型代码。 // 常规方法 String address = "xxx"; OrderInfoVo o = ...; if(null != o){ UserInfoVo uiv = o.getUserInfoVo(); if (null != uiv){ AddressInfoVo aiv = uiv.getAddressInfoVo(); if (null != aiv){ aiv.setAddress(address); } } } // 使用Optional和Lambda String address = "xxx"; OrderInfoVo o = ...; Optional.ofNullable(o).map(OrderInfoVo::getUserInfoVo).map(UserInfoVo::getAddressInfoVo).ifPresent(a -> a.setAddress(address)); 小结

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wpjwpd.html