Java 如何在另一个方法之后调用该方法?

Java 如何在另一个方法之后调用该方法?,java,reflection,Java,Reflection,假设我有以下代码: Method myMethod = Entry.class.getDeclaredMethod("get" + criteria); entries.get(index).getPort(); 我想用反射的方法“myMethod”替换getPort方法。如何在另一个方法之后调用反射的方法?(在本例中为entries.get(index) 这可能是一个非常简单的问题,但我到处都找遍了,没有找到答案。 反射为调用类上的方法提供了一种方法。通常,只有在不可能将类的实例强制转换为非

假设我有以下代码:

Method myMethod = Entry.class.getDeclaredMethod("get" + criteria);
entries.get(index).getPort();
我想用反射的方法“myMethod”替换getPort方法。如何在另一个方法之后调用反射的方法?(在本例中为entries.get(index)

这可能是一个非常简单的问题,但我到处都找遍了,没有找到答案。

反射为调用类上的方法提供了一种方法。通常,只有在不可能将类的实例强制转换为非反射代码中所需的类型时,才需要这样做。方法是通过java.lang.reflect.Method.invoke()调用的。第一个参数是要在其上调用此特定方法的对象实例。(如果该方法是静态的,则第一个参数应为null。)后续参数是该方法的参数。如果基础方法抛出异常,它将被java.lang.reflect.InvocationTargetException包装。可以使用异常链接机制的InvocationTargetException.getCause()方法检索该方法的原始异常

就你而言:

myMethod.invoke(entries.get(index), null);

反射为调用类上的方法提供了一种方法。通常,只有在不可能将类的实例强制转换为非反射代码中所需的类型时,才需要这样做。方法是通过java.lang.reflect.Method.invoke()调用的。第一个参数是要在其上调用此特定方法的对象实例。(如果该方法是静态的,则第一个参数应为null。)后续参数是该方法的参数。如果基础方法抛出异常,它将被java.lang.reflect.InvocationTargetException包装。可以使用异常链接机制的InvocationTargetException.getCause()方法检索该方法的原始异常

就你而言:

myMethod.invoke(entries.get(index), null);