该Stream.reduce方法以a BinaryOperator为参数.a的函数签名BinaryOperator是(T,T) -> T.该BigDecimal::min方法在其方法签名中只有1个参数(即.(T) -> T).
当我传递BigDecimal::min给Stream.reduce方法时,为什么编译器不会抱怨?
示例代码:
List<BigDecimal> bigDecimalList = new ArrayList<>();
bigDecimalList.add(BigDecimal.valueOf(1));
bigDecimalList.add(BigDecimal.valueOf(2));
bigDecimalList.add(BigDecimal.valueOf(3));
BigDecimal minResult = bigDecimalList.stream().reduce(BigDecimal::min).orElse(BigDecimal.ZERO);
Run Code Online (Sandbox Code Playgroud)
谢谢.