J'ai besoin de faire quelques réfléchissant les appels de méthode en Java. Ces appels vous inclure des méthodes qui ont des arguments qui sont des types primitifs (int, double, etc.). La façon de spécifier les types lors de la recherche de la méthode reflectively est int.class, double.class, etc.
Le problème est que je suis accepter l'entrée d'une source extérieure qui doit spécifier les types de manière dynamique. Donc, j'ai besoin de trouver ces références de Classe dynamique. Imaginez un fichier délimité par une liste de noms de méthode avec des listes de types de paramètres:
doSomething int double
doSomethingElse java.lang.String boolean
Si l'entrée était quelque chose comme java.lang.String
, je sais que je pourrais utiliser Class.forName("java.lang.String")
à la Classe en instance de retour. Est-il possible d'utiliser cette méthode, ou d'une autre, pour obtenir le type primitif des Classes de retour?
Edit:
Merci à tous les répondants. Il semble clair qu'il n'est pas intégrée de façon à proprement faire ce que je veux, donc je me contenterai de réutilisation de l' ClassUtils
classe du framework Spring. Il semble contenir un remplacement pour la Classe.forName() qui va travailler avec mes exigences.