Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    Creare oggetti di una classe già esistente avendo il nome della classe in una String

    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

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284

    Re: Creare oggetti di una classe già esistente avendo il nome della classe in una Str

    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()
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    Ti ringrazio cmq ho appena risolto cosi:
    Class c =Class.forName(str);
    c.newInstance();


    Grazie ancora x l'aiuto sei un grande

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.