【问题标题】:Get method object with method references获取带有方法引用的方法对象
【发布时间】:2014-07-20 18:38:54
【问题描述】:

是否可以通过使用 Java 8 的新方法引用特性来获取 java.lang.reflect.Method 的实例?

这样我就可以进行编译时检查,重构也会更容易。另外,我不需要捕获异常(毕竟不应该抛出)。

【问题讨论】:

    标签: java-8 method-reference


    【解决方案1】:

    简答:没有。

    您将获得该方法的 lambda,而不是 java.lang.reflect.Method。您不知道方法的名称。就像您不能引用 java bean 的“属性”一样。 您可以引用 getter 或 setter,但这也是一个 lambda,您不知道实际名称。 在任何情况下,您都必须将名称作为字符串提供,并且编译器无法检查该名称。我也试过这个但失败了。除非您编写一些检查 javacode/bytecode 的东西,否则它根本无法完成。但是有一些工具可以做到这一点。 也许可以使用 Criteria API,但这取决于要求。 http://docs.oracle.com/javaee/6/tutorial/doc/gjitv.html 在那里,“元模型”上有一个 SingularAttribute 或类似字段,然后常规 java 编译器可以检查它的(通用)类型。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-11-07
      • 2011-02-22
      • 1970-01-01
      • 2019-02-12
      • 1970-01-01
      • 1970-01-01
      • 2016-04-02
      相关资源
      最近更新 更多