2014-02-07 37 views
1

我想通过一大堆类变量方法并让每个方法都运行一些生成的输入。它的结果并不重要,只是没有任何错误。以编程方式调用Java类中的所有方法

我有这样的代码查找所有的方法和调用它们:

MyClassType theClass = new MyClassType(); // Fake class for example 
Method[] methods = theClass.getClass().getMethods(); 

for (Method m : methods) { 
    try { 
     m.invoke(theClass, new Object[]{}); 
    } catch (Exception ex) { 
     //Log error 
    } 
} 

这对于不带任何参数的所有方法工作正常,但无法用于执行操作的方法。

有什么办法可以通过编程方式检测每种方法所需的参数类型并给它一个测试值吗?例如,所有布尔都是true,所有的整数都是1,所有花车1.5f

+0

进一步观察反射,因为它可以获取类的方法的参数类型。 –

+0

自定义类型怎么样?你用什么默认值? –

+0

我看了这篇文档,但像往常一样,这是一个远远超出我对初学者Java的掌握程度的大规模程序。谢谢你! – Scott

回答

2

看那Method API,这......说实话真应该你来这里之前应该首先关注的地方其实。 Method类中的getParametertypes()方法将有所帮助。还有其他有用的方法,包括那些有助于使用通用方法的方法。

+0

你说得对,对不起。谢谢,9分钟内会标记为正确。 – Scott

相关问题