所以我有一个对象,我使用反射的方法。我得到的预期参数为Object... methodArgs
,这是无法改变的。检查名称后,我正在进行参数检查
if (method.getName().equals(methodName))
{
Class<?>[] pType = method.getParameterTypes();
if(pType.length == methodArgs.length)
{
boolean methodMatched = true;
for (int i = 0; i < methodArgs.length; i++)
{
if(!pType[i].equals(methodArgs[i].getClass()))
{
methodMatched = false;
}
}
if(methodMatched)
{
targetMethod = method;
break;
}
}
}
但是对于方法而言会失败,因为public void dummyMethod(boolean b);
methodArgs[i]..getClass()
会返回Boolean
。我怎样才能做到这一点?
不知何故,我想将boolean
转换为&#39;布尔&#39;对于pType。它可以是任何原始数据类型。
我试过
Class.forName(boolean.class.getName()).getConstructor().newInstance().getClass();
但它不起作用
Exception in thread "main" java.lang.ClassNotFoundException: boolean
任何建议都表示赞赏。