从原始类型的类中获取对象包装器的类

时间:2014-11-17 12:41:20

标签: java reflection

所以我有一个对象,我使用反射的方法。我得到的预期参数为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

任何建议都表示赞赏。

0 个答案:

没有答案