Suchen Sie dynamisch die Klasse, die einen primitiven Java-Typ darstellt
Ich muss einige reflektierende Methodenaufrufe in Java machen. Diese Aufrufe enthalten Methoden mit primitiven Argumenten (int, double usw.). Die Art und Weise, solche Typen anzugeben, wenn die Methode reflektiert nachgeschlagen wird, ist int.class, double.class usw.
Die Herausforderung besteht darin, dass ich Eingaben von einer externen Quelle akzeptiere, die die Typen dynamisch angibt. Daher muss ich diese Klassenreferenzen auch dynamisch erstellen. Stellen Sie sich eine durch Trennzeichen getrennte Datei mit einer Liste von Methodennamen und einer Liste von Parametertypen vor:
doSomething int double
doSomethingElse java.lang.String boolean
Wenn die Eingabe so ähnlich wärejava.lang.String
Ich weiß, ich könnte es gebrauchenClass.forName("java.lang.String")
zu dieser Klasseninstanz zurück. Gibt es eine Möglichkeit, diese oder eine andere Methode zu verwenden, um die Klassen des primitiven Typs zurückzugewinnen?
Bearbeiten: Vielen Dank an alle Befragten. Es scheint klar, dass es keinen eingebauten Weg gibt, um sauber zu machen, was ich will, also werde ich mich damit begnügen, das wiederzuverwendenClassUtils
Klasse aus dem Spring Framework. Es scheint einen Ersatz für Class.forName () zu enthalten, der meinen Anforderungen entspricht.