Generics Java: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
Nessun oggetto della modifica |
Nessun oggetto della modifica |
||
Riga 2:
Il [[Java 5|JDK 1.5]] ha introdotto alcune estensioni al [[Java (linguaggio)|linguaggio Java]]. Una di questa è l'introduzione dei '''generics''' o '''tipi generici'''.
Un generics è uno strumento che permette la definizione di un tipo parametrizzato, che viene esplicitato successivamente in fase di compilazione secondo le necessità; i generics permettono di definire delle [[Astrazione (informatica)|astrazioni]] sui [[Tipo di dato|tipi di dati]] definiti nel linguaggio.
Vi sono svariati vantaggi nell'uso dei generics:
*Fornisce una migliore gestione del '''type checking''' durante la compilazione;
*Evita il casting da ''Object. I.e.'';
*Invece di utilizzare:
<source lang="java">
String title=((String) words.get(i)).toUppercase();
</source>
verrà utilizzato:
<source lang="java">
String title=words.get(i).toUppercase();
</source>
L'esempio più comune del loro utilizzo è nella definizione/uso dei cosiddetti ''[[container (informatica)|contenitori]]''. Prima dell'uscita del JDK 1.5 per poter gestire in modo trasparente tipi di dati differenti si doveva ricorrere al fatto che in Java ogni [[Classe (informatica)|classe]] deriva in modo implicito dalla classe ''Object''. Per esempio se si doveva implementare una [[lista concatenata]] il codice era il seguente:
<source lang="java">
|