PDA

View Full Version : {java} generici:cosa succede in questo caso?


nuovoUtente86
17-06-2007, 23:43
cosa succede creando qualcosa del genere:

ArrayList<MiaClasse> array=new ArrayList();

si dovra andare a fare il cast a MiaClasse essendo il binding dinamico una lsta generica oppure si continua ad utilizzare i generici?

andbin
18-06-2007, 08:27
cosa succede creando qualcosa del genere:

ArrayList<MiaClasse> array=new ArrayList();

si dovra andare a fare il cast a MiaClasse essendo il binding dinamico una lsta generica oppure si continua ad utilizzare i generici?Il reference l'hai dichiarato il modo generico ma la istanziazione dell'ArrayList l'hai fatta con il "raw type" e quando compili ti segnala un warning: [unchecked] unchecked conversion, perché viene fatta una conversione da un raw type a un generic type (nota che il contrario è anche lecito e non genera un warning).

Il modo giusto è:

ArrayList<MiaClasse> array=new ArrayList<MiaClasse>();

Per l'utilizzo di 'array' puoi fare:

MiaClasse a = new MiaClasse ();
array.add (a);

e

MiaClasse b = array.get (0);

Quindi come vedi nessun cast è necessario.