Tengo un fragmento de código donde necesito pasar la clase de un campo en un método. Debido a la mecánica de mi código, solo puedo manejar objetos de referencia y no primitivos. Quiero una manera fácil de determinar si el tipo Field
es primitivo y cambiarlo por la clase contenedora apropiada. Así que en el código de lo que hago hasta ahora es algo como esto:Forma simple de obtener el tipo de clase contenedora 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);
Esto funciona bien, excepto por el hecho de que tengo que comprobar de forma explícita para todos los tipos primitivos e intercambiarlos con la clase de contenedor apropiado. Ahora sé que no hay tantos tipos primitivos y que no será un problema simplemente enumerarlos a todos, pero me preguntaba si había una manera más fácil y más elegante de hacerlo.
Así que básicamente lo mismo ... :) Gracias por la respuesta. Básicamente no hay otra manera en este momento. –