我正在考虑检查方法是否被声明的可能性?例如在代码中
class foo
{
variable.getSomething(true);
}
我可以检查是否声明了方法getSomething(true)以及使用反射的boolean arrgument的值是什么?
答案 0 :(得分:1)
您使用Class#getMethod()调用进行反思。 method_name
是您正在寻找的方法。对于原语,您只想使用小写boolean.class
。 Boolean.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
}