【问题标题】:Obtain method reference from java.lang.reflect.Method object从 java.lang.reflect.Method 对象获取方法引用
【发布时间】:2019-01-15 15:24:28
【问题描述】:

我有一个java.lang.reflect.Method 类型的对象,我需要将其设置为闲置变量BiConsumer<_notaFiscalServicoGeraServicosMov, Double> metodoSetBC

是否可以从java.lang.reflect.Method 实例中获取引用?

【问题讨论】:

  • 是否可以从java.lang.reflect.Method实例中获取引用?
  • 你想让你的BiConsumer调用你的Method对象所代表的方法吗? Method 的签名是什么?
  • 它是二传手public void setValueBC(Double valueBC) { this.valueBC= valueBC; }
  • 你实际上想打电话给_notaFiscalServicoGeraServicosMovObject.setValueBC(doubleValue)
  • 该方法就是一个例子。我有一个列表,其中包含所有具有相同签名的方法,用户选择该方法并为其分配一个值。我需要能够调用 _notaFiscalServicoGeraServicosMovObject.setValueBC(doubleValue) 或用户选择的任何其他方法

标签: java methods reflection reference


【解决方案1】:
BiConsumer<_notaFiscalServicoGeraServicosMov, Double> consumer = (instance, param) -> {
    try {
        methodInstance.invoke(instance, new Object[] {param});
    } catch (LotsOfExceptionsHere e) {
        throw new RuntimeException(e);
    }
};

应该这样做。真的没有别的办法了。

【讨论】:

  • 是的,我的错。修改了错误。
  • 我找到了答案,但 netbeans 说:不兼容的类型:lambda 表达式中的错误返回类型意外返回值
猜你喜欢
  • 1970-01-01
  • 2011-08-08
  • 1970-01-01
  • 1970-01-01
  • 2016-04-02
  • 1970-01-01
  • 1970-01-01
  • 2019-12-21
  • 1970-01-01
相关资源
最近更新 更多