有没有什么方法可以直接访问java.lang.reflect.Method
对象呢?比如下面的例子中的MyUtils::sum
:
class MyUtils {
static int sum(int a, int b) {
return a + b;
}
}
java.lang.reflect.Method myUtilsSumMethod = MyUtils::sum;
int sum = myUtilsSumMethod.invoke(null, 2, 3); // should be 5
或者我必须使用反射API来使用字符串名称吗?
MyUtils.class.getDeclaredMethod("sum", Integer.class, Integer.class)
因为一旦我重构了方法的名字,我就会在运行时得到一个异常,我希望在编译时就已经有了这个错误。
1条答案
按热度按时间dgsult0t1#
这里不需要反射-
MyUtils::sum
返回一个方法引用,可以将其存储在IntBinaryOperator
中: