2014-07-20 57 views
0

是否可以通过使用Java 8的新方法引用功能获取java.lang.reflect.Method的实例?通过方法引用获取方法对象

这样我会有编译时间检查和重构也会更容易。另外,我不需要去捕捉异常(毕竟不应该抛出异常)。

回答

1

简短的回答:第

你会得到这种方法,而不是java.lang.reflect.Method的拉姆达。你不知道方法的名字。就像你不能引用一个java bean的“属性”一样。 你可以有一个对吸气剂或二道过滤器的参考,但这也是一个拉姆达,你不知道实际的名称。 在任何情况下,您都必须将该名称作为字符串提供,并且不能由编译器进行检查。我也试过但失败了。除非您编写检查javacode /字节码的内容,否则无法完成。但有些工具可以做到这一点。 也许可以使用Criteria API,但它取决于需求。 http://docs.oracle.com/javaee/6/tutorial/doc/gjitv.html 在那里你会有一个SingularAttribute或“metamodel”类似的领域,然后普通的java编译器可以检查它的(通用)类型。

相关问题