J'ai un morceau de code où j'ai besoin de passer la classe d'un champ dans une méthode. En raison de la mécanique de mon code, je ne peux manipuler que des objets de référence et non des primitives. Je veux un moyen facile de déterminer si un type Field
est primitif et l'échanger avec la classe wrapper appropriée. Donc, dans le code ce que je fais jusqu'à présent est quelque chose comme ceci:Simple moyen d'obtenir le type de classe wrapper en Java
Field f = getTheField(); // Dummy method that returns my Field
Class<?> c = f.getType();
if (c == int.class) {
c = Integer.class;
}
else if (c == float.class) {
c = Float.class;
}
// etc
myMethod(c);
Cela fonctionne bien, à l'exception du fait que je dois vérifier explicitement pour tous les types primitifs et les échanger avec la classe d'emballage approprié. Maintenant, je sais qu'il n'y a pas beaucoup de types primitifs et ce ne sera pas un problème de simplement les lister tous, mais je me demandais s'il y avait une façon plus facile et plus élégante de le faire.
Donc, fondamentalement la même chose ... :) Merci pour la réponse. Fondamentalement, il n'y a pas d'autre moyen pour le moment. –