Conozco el nombre de clase, por ejemplo "MiClase" y quiero recuperar el objeto Class
, es decir. MyClass.class para futuras referencias. ¿Hay una manera de hacer eso?Cómo obtener un objeto de clase del nombre de clase en Java
He revisado la web, pero la mayoría de las cosas que encontré relacionadas con ella se referían al ClassLoader
, que supongo que no son adecuadas para mi caso. No quiero inicializar una clase, sino solo obtener un objeto de clase para usos futuros.
EDIT: Con respecto a las primeras respuestas a esta:
Ya he comprobado el método forName()
pero pensé que se supone que también inicializar la clase. Ahora puedo llamarlo con todos los argumentos y pasar false
al segundo argumento, pero ¿el tercero tiene que ser null
o qué?
Would
Class.forName("MyClass", false, null);
retorno MyClass.class
?
De hecho, lo que yo quiero hacer, es reemplazar un array de cadenas identificadores asociados con Class
objetos, con una matriz de ID de la cual los objetos de clase se recuperan de forma automática, a deshacerse de algunos trabajos manuales :)
Gracias por las respuestas rápidas y disculpe por no mencionar esto antes.
Class.newInstance hace cosas malas con excepciones. –
Sí. Tendrá que manejar cualquier excepción de inicialización. –
Para que esto funcione, la clase debe tener un constructor no args accesible. – Jesper