Как получить имена параметров конструкторов объекта (отражение)? [Дубликат]

На этот вопрос уже есть ответ:

Можно ли получить имя параметра метода с помощью отражения Java? 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);
                    }                                       
                }
            }
        }
    }

К сожалению, это не дает мне ожидаемого результата. Может кто-нибудь сказать мне, как я должен делать это или что я делаю неправильно? Благодарность

Ответы на вопрос(3)

Ваш ответ на вопрос