Wie erhalte ich die Parameternamen der Konstruktoren eines Objekts (Reflektion)? [Duplikat

Diese Frage hat hier bereits eine Antwort:

Kann ich den Methodenparameternamen mit Java Reflection erhalten? 14 answers

Sag, ich habe irgendwie eine Objektreferenz von einer anderen Klasse:

Object myObj = anObject;

etzt kann ich die Klasse dieses Objekts bekommen:

Class objClass = myObj.getClass();

Jetzt kann ich alle Konstruktoren dieser Klasse bekommen:

Constructor[] constructors = objClass.getConstructors();

Jetzt kann ich jeden Konstruktor in einer Schleife ausführen:

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

Dies gibt mir bereits eine gute Zusammenfassung des Konstruktors, zum Beispiel wird ein öffentlicher Test des Konstruktors (String paramName) als öffentlicher Test (java.lang.String) angezeigt.

Anstatt mir den Klassentyp zu geben, möchte ich den Namen des Parameters erhalten .. in diesem Fall "paramName". Wie würde ich das machen? Ich habe folgendes ohne Erfolg versucht:

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);
                    }                                       
                }
            }
        }
    }

Leider ist dies nicht das erwartete Ergebnis für mich. Kann mir jemand sagen, wie ich das machen soll oder was ich falsch mache? Vielen Dank

Antworten auf die Frage(6)

Ihre Antwort auf die Frage