【发布时间】:2018-12-31 03:32:54
【问题描述】:
我可以理解为什么要计算 Total1,但是计算 Total2 我不知道! BigDecimal::add 如何在 BiFunction 中使用?签名不一样!!!
package br.com.jorge.java8.streams.bigdecimal;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;
public class BigDecimalSumTest {
public static void main(String[] args) {
List<BigDecimal> list = new ArrayList<>();
list.add(new BigDecimal("1"));
list.add(new BigDecimal("2"));
BigDecimal total1 = list.stream().reduce(BigDecimal.ZERO, (t, v) -> t.add(v));
BigDecimal total2 = list.stream().reduce(BigDecimal.ZERO, BigDecimal::add);
System.out.println("Total 1: " + total1);
System.out.println("Total 2: " + total2);
}
}
【问题讨论】:
标签: java lambda java-8 java-stream functional-interface