如何检查方法是否使用反射声明?

时间:2014-05-23 13:50:25

标签: java reflection

我正在考虑检查方法是否被声明的可能性?例如在代码中

class foo
{
 variable.getSomething(true);
}

我可以检查是否声明了方法getSomething(true)以及使用反射的boolean arrgument的值是什么?

1 个答案:

答案 0 :(得分:1)

您使用Class#getMethod()调用进行反思。 method_name是您正在寻找的方法。对于原语,您只想使用小写boolean.classBoolean.TYPE也适用于原始值。 Boolean.class根本不起作用,因为它是对象类型。

Class<variable type> clazz = variable.getClass();
try {
    //Boolean.TYPE can be used instead of boolean.class
    Method m = clazz.getMethod("method_name", boolean.class);
    //method exists
 }
 catch(NoSuchMethodException e) {
      //method does not exist
 }