2013-05-18 4 views

risposta

14

Per quanto ne so non si può. I generici Java usano la cancellazione dei tipi, quindi in fase di esecuzione uno Vector<T> si comporta come un Vector senza alcun argomento del modello.

Quello che puoi fare è interrogare il tipo di un elemento del tuo vettore.

Ecco una breve descrizione del tipo di cancellazione: http://docs.oracle.com/javase/tutorial/java/generics/erasure.html

Vedi anche le risposte a questa domanda: Java generics - type erasure - when and what happens

In altre parole:

void someMethod(Vector<T> values) { 
    T value = values.get(0); 
} 

è equivalente a:

void someMethod(Vector values) { 
    T value = (T) values.get(0); 
} 

in fase di esecuzione ma con alcuni controlli di compilazione per il tipo a cui si sta eseguendo il casting.

+0

ok ho capito :) grazie mille –