我在MatrixOperation类中定义了这个方法:
private static int getLargestSubMatrixSize(int[][] inputMatrix, int[][] arrResult){}
我需要使用反射调用这个方法
我尝试了这种方法,但我得到了一个NoSuchMethodException
:
Method method = MatrixOperations.class.getMethod("getLargestSubMatrixSize", int[][].class, int[][].class);
method.setAccessible(true);
int maxCount = (int) method.invoke(null, inputMatrix, resultMatrix);
如何做到这一点?
您的方法是private
,getMethod
只返回公共方法:
返回一个方法对象,该对象反映由该类对象表示的类或接口的指定公共成员方法。
您想要使用的是getDeclaredMethod
:
返回一个Method对象,该对象反映由该类对象表示的类或接口的指定声明方法。
我目前试图通过反射执行一个方法,但方法参数只是一个列表。 该方法如下所示: 但Java对待他们就像 问题是参数的长度不同,该方法可以有任意数量的参数。 有没有办法解决这个问题?
大家好,我正在使用Java反射来调用方法,并将参数传递给这些方法。下面是示例代码 用于调用方法的一段代码 其中test=“method1”/“method2”/“method3” obj是基类的对象 上面的代码抛出的是NOSuchmethodException
我用java反射写了下面的代码。在这段代码中,我调用了有参数的方法1(),代码运行时没有错误。没关系。但是我如何调用没有参数的方法2()和方法3()呢?如何在java反射中调用没有参数的方法?Java支持这样的功能吗?
主要内容:1 Java8 方法参数反射的介绍,2 Method类,3 Method类的方法,4 Parameter类,5 Parameter类的方法,6 Java8 方法参数反射的案例1 Java8 方法参数反射的介绍 Java提供了一项新功能,您可以在其中获得任何方法或构造函数的形式参数的名称。java.lang.reflect包包含所有必需的类,例如Method和Parameter,可用于参数反射。 2 Method类 Method类提供有关类或接口上的单个方法的信息。反射的方法可以是类方法
问题内容: 我需要使用反射调用类的setter方法,并且代码如下: 的是一个以及设置器方法如下: 运行此代码时,将引发A ,但是将setter方法参数类型更改为from时,将执行正常。有没有一种方法可以将setter方法的参数保持为超级类型,并且在从类中获取方法时仍无需手动指定参数的类型即可使用反射? 问题答案: 与其他答案相反,有一个非常简单的解决方案。请参阅。它为您提供了一种执行任意反射代码的
问题内容: 想要将arraylist类型的参数传递给我要调用的方法。 我遇到一些语法错误,所以我想知道这是什么问题。 方案1: 方案2(不相同,但相似): 问题答案: 您的(主要)错误是在参数中传递了不必要的泛型类型。我试图编写一个与您的代码相似但可以正常工作的简单代码。希望它可以某种方式回答您的问题: