从Java 8开始,Integer
类有一个静态sum
方法,它增加了两个整数:
public static int sum(int a, int b) {
return a + b;
}
我可以通过Integer::sum
将此方法传递给高阶函数,我发现它比(a, b) -> a + b
更具可读性。
是否有类似的静态乘法方法,所以我不必写(a, b) -> a * b
?我无法在Integer
课程中找到一个。
答案 0 :(得分:5)
static int multiplyExact(int x, int y)
返回参数的乘积,如果结果溢出int,则抛出异常。
答案 1 :(得分:5)
你可以自己做:
public static int mult(int a, int b) {
return a * b;
}
回想起来这似乎是显而易见的,但除此之外,我不相信那里实际上是一个包含jdk的方法,它会为你增加,除了 Math#multiplyExact
(Math::multiplyExact
),虽然这可能超出了你的需要。