Categorie
Winzipedia Uso dell'wiki |
UsoBaseGenericsJavaInformatica3.UsoBaseGenericsJava VersioniMostra le modifiche minori - Mostra le modifiche 01/06/2006 ore 12:00 CEST
di - Aggiunta di autore, collaboratori e sommario
Modificate le linee 1-9: da:
! a:
! Mostrare l'uso (BASE) dei generici in Java '''Autore:''' [[Profiles.Andrea|Andrea Rota]]\\ '''Hanno contribuito:''' ->'''Sommario''' ->[-Esempio di un uso base dei generics nel linguaggio Java. Per un esempio di uso avanzato dei generics, sempre in Java, vedi [[Informatica3.UsoAvanzatoGenericsJava|questo]] articolo.-] 07/05/2006 ore 15:15 CEST
di - /* Correzione della formattazione*/
Modificate le linee 18-21: da:
public class AnotherEchoGenericClass { a:
È possibile anche rendere parametrici solo alcuni metodi e non l'intera classe, con evidente vantaggio di . public class AnotherEchoGenericClass { Modificate le linee 29-32: da:
} Il metodo play restituisce un oggetto di tipo uguale a quello del parametro passato, senza che tale tipo sia definito in fase di istanziazione. a:
} Il metodo @@play@@ restituisce un oggetto di tipo uguale a quello del parametro passato, senza che tale tipo sia definito in fase di istanziazione. Modificate le linee 34-35: da:
EchoGenericClass<String> e = new EchoGenericClass<String>(); a:
EchoGenericClass<String> e = new EchoGenericClass<String>(); Modificate le linee 51-56: da:
My message My message Come possibile osservare la classe EchoGenericClass deve essere parametrizzata in istanziazione, indicando che il tipo String. Questo impedisce poi di usare la classe per gli Integer e sarebbe necessario istanziare un oggetto a:
My message My message 1 Come possibile osservare la classe @@EchoGenericClass@@ deve essere parametrizzata in istanziazione, indicando che il tipo @@String@@. Questo impedisce poi di usare la classe per gli @@Integer@@ e sarebbe necessario istanziare un oggetto @@EchoGenericClass<Integer>@@. L'uso invece del metodo parametrico permette di evitare questo problema. 07/05/2006 ore 15:13 CEST
di - /* Creazione della pagina */
Aggiunte le linee 1-57:
!! Mostrare l'uso (BASE) dei generici in Java public class EchoGenericClass<T> { public EchoGenericClass() { } public T play(T o) { return o; } } Codice: public class AnotherEchoGenericClass { public AnotherEchoGenericClass() { } public <T> T play(T o) { return o; } } Il metodo play restituisce un oggetto di tipo uguale a quello del parametro passato, senza che tale tipo sia definito in fase di istanziazione. Ecco un breve listato che mostra l'uso di tale codice generico. Codice: EchoGenericClass<String> e = new EchoGenericClass<String>(); String msg = "My message"; Integer num = 1; System.out.println(e.play(msg)); // Se provassi a passare num alla classe, otterrei errore // System.out.println(e.play(num)); AnotherEchoGenericClass a = new AnotherEchoGenericClass(); System.out.println(a.play(msg)); System.out.println(a.play(num)); Codice: My message My message 1 |