【发布时间】:2019-07-15 14:06:55
【问题描述】:
我想重构这段代码以使用 lambda 表达式 java 8
for(int i = 0; i < customers.getCUSTOMER().size(); i++){
if (customers.getCUSTOMER().get(i).getINCOME().getGROSSMONTH1().toBigInteger()
< customers.getCUSTOMER().get(i).getINCOME().getNETTSALMONTH1().toBigInteger()){
log.error("")
throw new RuntimeException();
}
}
【问题讨论】:
-
@Paul - 这是一个未经检查的异常,所以抛出它没有问题。
-
顺便说一句,你不能用
<比较BigInteger -
好的,
customers.getCUSTOMER().stream().filter(c -> c.getINCOME().getGROSSMONTH1().toBigInteger().compareTo(c.getINCOME().getNETTSALMONTH1().toBigInteger()) == -1).findAny().ifPresent(c -> { throw new RuntimeException(); });应该足够了。 -
@StephenC 我首先将它们转换为整数然后使用
标签: java lambda java-stream