关于Java8中lambda约简函数reduce的一个计算问题

   /**
     * testok
     * entity number->dto number reduce sum
     * 第二个dto需要在外层声明
     */
    @Test
    public void testDTOReduce(){

        LoansDTO resultLoansDTO = LoansDTO.builder().build();

        LoansDTO loansDTO = loansEntityList.stream()
                .map(loansEntity -> LoansDTO.builder()
                        .loanFirst(loansEntity.getLoanFirst())
                        .loanSecond(loansEntity.getLoanSecond())
                        .countSimle(loansEntity.getCountSimle()).build())
                .reduce((x, y) -> {
                    resultLoansDTO.setLoanFirst(x.getLoanFirst().add(y.getLoanFirst()));
                    resultLoansDTO.setLoanSecond(x.getLoanSecond().add(y.getLoanSecond()));
                    resultLoansDTO.setCountSimle(x.getCountSimle()+y.getCountSimle());
                    return resultLoansDTO;
                })
                .get();

        System.out.println(loansDTO);
    }

如上所示,第二个计算中DTO不能进行new 或者builder,而只是需要在外层进行先创建声明.否则无法获取结果,执行不到get()或者orElse()等

posted @   ukyo--碳水化合物  阅读(448)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
历史上的今天:
2020-02-23 最近undertow好像挺火的 , 朋友分享我一个demo
主题色彩
人是要整活的——没活了,可不就是死了么?
点击右上角即可分享
微信分享提示