为了账号安全,请及时绑定邮箱和手机立即绑定

用 lambda 表达式替换列表迭代逻辑

用 lambda 表达式替换列表迭代逻辑

繁花不似锦 2021-07-02 10:09:23
我有下面的一段代码来遍历一个列表,检查一个特定的值,然后终止循环。如果可能,您能否建议使用 lambda 表达式的更好方法?            for(InvoiceLine invoiceLine : inputInvoice.getInvoiceLines()) {                Object flag = invoiceLine.getTransientField("ApproveInvoiceLine");                if(flag != null && ((Boolean)flag)) {                    approveInv = true;                    break;                }            }
查看完整描述

2 回答

?
隔江千里

TA贡献1906条经验 获得超10个赞

boolean approveInv = inputInvoice.getInvoiceLines()

                           .stream()

                           .map(x -> x.getTransientField("ApproveInvoiceLine"))

                           .anyMatch(x -> x != null && ((Boolean)x));


查看完整回答
反对 回复 2021-07-07
?
倚天杖

TA贡献1828条经验 获得超3个赞

 boolean approveInv = inputInvoice.getInvoiceLines().stream()

             .filter(i -> invoiceLine.getTransientField("ApproveInvoiceLine")!=null)

             .filter(i -> ((Boolean)invoiceLine.getTransientField("ApproveInvoiceLine"))==true)

             .findFirst()

             .isPresent();


查看完整回答
反对 回复 2021-07-07
  • 2 回答
  • 0 关注
  • 102 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信