小编Als*_*Als的帖子

Java 8可选/功能代码优化

有一个接收"someObj"的方法,其目的是检查类型Set <>的var ASet,迭代它并用数据库对象替换它的对象.为此,我写了以下代码:

if(!CollectionUtils.isEmpty(someObj.getASet())){
        someObj.setASet(
            someObj.getASet()
                    .stream()
                    .map( c -> AService.getExistingA(c.getId()))
                    .collect(Collectors.toSet())
       );
    }
Run Code Online (Sandbox Code Playgroud)

这样做的目的,但我真的不满意它的可读性.

 Optional.ofNullable(someObj.getASet())
            .ifPresent( ASet->  someObj.setASet(
                                                ASet.stream()
                                                .map( c -> AService.getExistingA(c.getId()))
                                                .collect(Collectors.toSet())
            ));
Run Code Online (Sandbox Code Playgroud)

现在它看起来更不易读,你能推荐更好的方法吗?我认为最糟糕的问题是someObj.setASet,它看起来很奇怪,是否有任何功能方式可以在收集后替换该对象?

optimization java-8 null-check

1
推荐指数
1
解决办法
485
查看次数

标签 统计

java-8 ×1

null-check ×1

optimization ×1