fre*_*low 4 java lambda higher-order-functions java-8 method-reference
从Java 8开始,Integer该类有一个静态sum方法,它添加了两个整数:
public static int sum(int a, int b) {
return a + b;
}
Run Code Online (Sandbox Code Playgroud)
我可以将此方法传递给高阶函数,通过Integer::sum这些函数我发现它更具可读性(a, b) -> a + b.
是否有类似的静态方法进行乘法,所以我不必写(a, b) -> a * b?我在Integer课堂上找不到一个.
static int multiplyExact(int x, int y)返回参数的乘积,如果结果溢出int则抛出异常.
你可以自己做:
public static int mult(int a, int b) {
return a * b;
}
Run Code Online (Sandbox Code Playgroud)
这似乎是显而易见回想起来,但是那之外,我不相信居然还有它乘你的,一个JDK包含的方法除了为Math#multiplyExact(Math::multiplyExact),尽管这可能是比你更需要.