Originariamente inviato da AleMcRae
Come da titolo ho bisogno in aiuto sulla creazione di un oggetto di una classe già esistente avendo il nome della classe in una String
Si può fare, però devi sapere a priori se usare un costruttore con parametri o un costruttore senza parametri.
Ti faccio un esempio per creare un oggetto di tipo Integer:
codice:
import java.lang.reflect.*;
public class Prova
{
public static void main (String[] args)
{
try
{
String nomeClasse = "java.lang.Integer";
Class cls = Class.forName (nomeClasse);
Constructor co = cls.getConstructor (new Class[] { int.class });
Object obj = co.newInstance (new Object[] { new Integer (12) });
System.out.println (obj);
}
catch (Exception e)
{
System.out.println (e);
}
}
}
Se sai già che dovrai sempre usare il costruttore senza parametri (se esiste), dopo aver ottenuto la classe, fai semplicemente cls.newInstance()