【发布时间】:2015-03-30 13:25:45
【问题描述】:
Java 8 中特定方法的
方法参考可以通过Class::Method 获得。但是如何获取一个类的所有方法的方法引用呢?
所有需要的方法都有不同的方法名称,但是相同的类型签名。此外,方法的名称事先未知。
例子:
class Test {
public static double op0(double a) { ... }
public static double op1(double a) { ... }
public static double op2(double a) { ... }
public static double op3(double a) { ... }
public static double op4(double a) { ... }
}
已知方法op0的方法引用可以得到如下:
DoubleFunction<Double> f = Test::op0;
但是,如何获取类中所有方法的方法引用呢?
【问题讨论】:
-
您的意思是如何在 IDE 的内容辅助中获取这些内容?
-
否,获取方法引用,以便以后可以调用它们。这可以使用
Reflection,但我正在寻找更简单的替代方案。 -
另外声明所需的方法具有不同的函数名称,但相同的函数签名是错误的。签名包括方法名称和参数列表。返回类型不是方法签名的一部分。
-
对不起,我的错误。它应该被称为Type Signature。
标签: java java-8 method-reference