我要实现一个功能 求出一个三位数的各个位数上的立方和,比如 321 => 9+8+1 = 18
如果是 js
我可能会有一段代码
const f = () => {
...
const p = Math.pow; // 我只是希望在这个作用域简写一下 Math.pow 这个方法签名 因为他太长了
return p(a, 3) + p(b, 3) + p(c, 3)
}
在 java 中, 现在来看好像只能声明一个静态方法?
class cal {
static double p (int a) {
return Math.pow(a, 3)
}
static int f (int a) {
...
return (int)(p(a) + p(b) + p(c));
}
}
其实上面的问题主要在于,Java 强类型,缩写 p 方法的类型没有找到。
java.util.function 包中仔细查看类型 可以逼近使用下面的语法
BinaryOperator<Double> p = Math::pow;
sout("p.apply(a, 3)")