Java 如何通过反射调用方法,并以param形式提供方法

Java 如何通过反射调用方法,并以param形式提供方法,java,generics,reflection,syntax,Java,Generics,Reflection,Syntax,我想通过反射调用一个方法: @凌驾 带有LogConsumer消费者的公共自我{ this.logConsumers.addconsumer; 回归自我; } 如果没有思考,我将使用以下方法调用此方法: 容器c=新容器。withLogConsumerSimpleClass::log; 公共无效注销框架{ String msg=frame.getUtf8String; 如果msg.endsWith\n msg=msg.substring0,msg.length-1; Log.infothis.cl

我想通过反射调用一个方法:

@凌驾 带有LogConsumer消费者的公共自我{ this.logConsumers.addconsumer; 回归自我; } 如果没有思考,我将使用以下方法调用此方法:

容器c=新容器。withLogConsumerSimpleClass::log; 公共无效注销框架{ String msg=frame.getUtf8String; 如果msg.endsWith\n msg=msg.substring0,msg.length-1; Log.infothis.clazz,输出,msg; } 使用反射,我希望能够做到:

构造函数ctor=SimpleClass.class.getConstructor; Object=ctor.newInstance; 方法withLogConsumer=object.getClass.getMethodwithLogConsumer,Consumer.class; 使用LogConsumer.invokeobject,SimpleClass::log 这其中有两个问题,我似乎也找不到答案:

如何使用接受泛型方法参数类型的反射创建方法?就像我的方法接受ArrayList一样 然后如何使用双冒号语法传入方法? 忽略泛型类型;使用原始、已擦除的非泛型类型。方法withLogConsumer=object.getClass.getMethodwithLogConsumer,Consumer.class; 显式地将方法引用强制转换为适当的接口类型:withLogConsumer.invokeobject,Consumer SimpleClass::log;
如果你真的需要这样做,你可以考虑Groovy。