java – 如何获取对象的构造函数(反射)的参数名称? [重复] - 代码日志

java – 如何获取对象的构造函数(反射)的参数名称? [重复]

这个问题已经在这里有一个答案:            >            Can I obtain method parameter name using Java reflection?                                    14个答案                                说我以某种方式从另一个类获得了一个对象引用:

Object myObj = anObject;

现在我可以得到这个对象的类:

Class objClass = myObj.getClass();

现在,我可以得到这个类的所有构造函数:

Constructor[] constructors = objClass.getConstructors();

现在,我可以循环每个构造函数:

if (constructors.length > 0)
{
    for (int i = 0; i < constructors.length; i++)
    {
        System.out.println(constructors[i]);
    }
}

这已经给了我很好的构造函数的总结,例如,一个构造函数public Test(String paramName)显示为public Test(java.lang.String)

而不是给我类类,但是,我想获取参数的名称..在这种情况下,“paramName”。我该怎么办?我尝试以下没有成功:

if (constructors.length > 0)
    {
        for (int iCon = 0; iCon < constructors.length; iCon++)
        {
            Class[] params = constructors[iCon].getParameterTypes();
            if (params.length > 0)
            {
                for (int iPar = 0; iPar < params.length; iPar++)
                {
                    Field fields[] = params[iPar].getDeclaredFields();
                    for (int iFields = 0; iFields < fields.length; iFields++)
                    {
                        String fieldName = fields[i].getName();
                        System.out.println(fieldName);
                    }                                       
                }
            }
        }
    }

不幸的是,这不是给我预期的结果。有谁能告诉我应该怎么做或者我做错了什么?谢谢!

此信息在编译后丢失,无法在运行时检索。
http://stackoverflow.com/questions/2729580/how-to-get-the-parameter-names-of-an-objects-constructors-reflection

本站文章除注明转载外,均为本站原创或编译
转载请明显位置注明出处:java – 如何获取对象的构造函数(反射)的参数名称? [重复]