Modifiche recenti - Cerca:

Categorie

Pagine utente

Winzipedia

Uso dell'wiki

modifica il menu

UsoBaseGenericsJava

Informatica3.UsoBaseGenericsJava Versioni

Mostra le modifiche minori - Mostra le modifiche

01/06/2006 ore 12:00 CEST di Vincenzo - Aggiunta di autore, collaboratori e sommario
Modificate le linee 1-9: da:
!! Mostrare l'uso (BASE) dei generici in Java
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 Andrea - /* Correzione della formattazione*/
Modificate le linee 18-21: da:
E' possibile anche rendere parametrici solo alcuni metodi e non l'intera classe, con evidente vantaggio di .

Codice:
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:
Codice:
EchoGenericClass<String> e = new EchoGenericClass<String>();
a:

EchoGenericClass<String> e = new EchoGenericClass<String>();
Modificate le linee 51-56: da:
Codice:
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.
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 Andrea - /* 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

Modifica - Versioni - Stampa - Modifiche recenti - Cerca
Ultima modifica il 02/08/2006 ore 23:19 CEST