草庐IT

paymentTenders

全部标签

java - 即使为空,如何干净地处理 java 8 流 "findFirst()"结果

我经常发现与Java8流混淆的一个方面是当中间结果可能为空时,如果它为空或不为空,您需要采用备用路径。例如,如果我有这样的代码:StringpymtRef=defaultValue;OptionalpaymentTender=paymentTenders.stream().filter(pt->(pt.getFlag()==Flag.N||pt.getFlag()==null)).findFirst();if(paymentTender.isPresent()){pymtRef=paymentTender.get().getId();}returnpymtRef;我想弄清楚如何删除条件