Generics Java: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
mNessun oggetto della modifica
wikificato. tolgo U per coerenza con de e en, dove la voce è a parte
Riga 1:
Il [[Java 5|JDK 1.5]] ha introdotto alcune interessanti estensioni al [[LinguaggioJava di programmazione Java(linguaggio)|linguaggio Java]]. Una di questa è l'introduzione dei '''generics'''.
{{U|Java 5}}
I generics permettono di definire delle [[Astrazione (informatica)|astrazioni]] sui [[Tipo di dato|tipi di dati]] definiti nel linguaggio. L'esempio più comune del loro utilizzo è nella definizione/uso dei, cosiddetti, contenitori.
{{w||ottobre 2006}}
Prima dell'avvento del JDK 1.5 per poter gestire in modo trasparente tipi di dati differenti si doveva ricorrere al fatto che in Java ogni [[LinguaggioClasse di programmazione Java(informatica)|Javaclasse]] ogni classe deriva in modo implicito dalla classe ''Object''; per esempio se si doveva implementare una linked[[lista listconcatenata]] il codice era seguente:
 
Il [[Java 5|JDK 1.5]] ha introdotto alcune interessanti estensioni al [[Linguaggio di programmazione Java|linguaggio Java]]. Una di questa è l'introduzione dei '''generics'''.
I generics permettono di definire delle astrazioni sui tipi di dati definiti nel linguaggio. L'esempio più comune del loro utilizzo è nella definizione/uso dei, cosiddetti, contenitori.
Prima dell'avvento del JDK 1.5 per poter gestire in modo trasparente tipi di dati differenti si doveva ricorrere al fatto che in [[Linguaggio di programmazione Java|Java]] ogni classe deriva in modo implicito dalla classe ''Object''; per esempio se si doveva implementare una linked list il codice era seguente:
 
List myIntList = new LinkedList();
myIntList.add(new Integer(0));
 
 
e invece per recuperare l'elemento appena inserito si doveva scrivere
Riga 14 ⟶ 10:
Integer x = (Integer) myIntList.iterator().next();
 
Si noti il [[Conversione di tipo|cast]] a ''[[Integer]]'' necessario poiché ''myIntList'' in realtà lavora su oggetti ''Object''.
Dall'introduzione del JDK 1.5 invece è possibile utilizzare un codice come il seguente: