Questa è una parte dal link che ho dato, pensato che come importante, così mi distacco che qui
Questo è un piccolo estratto dalle definizioni delle interfacce Lista e Iterator nel pacchetto java.util:
public interface List <E> {
void add(E x);
Iterator<E> iterator();
}
public interface Iterator<E> {
E next();
boolean hasNext();
}
questo codice dovrebbe essere tutti familiare, fatta eccezione per la roba in angolo di brack ets. Queste sono le dichiarazioni dello formal type parameters delle interfacce List e Iterator.
I parametri di tipo possono essere utilizzati in tutta la dichiarazione generica, piuttosto in cui si utilizzano i tipi ordinari.
Conosciamo le invocazioni del tipo Lista dichiarazione generica, come List. Nell'invocazione (solito chiamato con parametri tipo), tutte le occorrenze del parametro di tipo convenzionale (E in questo caso) sono sostituiti dall'argomento tipo effettivo (in questo caso, intero).
Si potrebbe immaginare che all'elenco Stand per una versione di List dove E è stata uniformemente sostituito da Integer:
public interface IntegerList {
void add(Integer x);
Iterator<Integer> iterator();
}
Questa intuizione può essere utile, ma è anche fuorviante.
È utile, perché il tipo di elenco parametrizzato fa sì che abbia metodi simili a questa espansione.
È fuorviante, perché la dichiarazione di un generico non è mai effettivamente espansa in questo modo. Non ci sono più copie del codice - non in origine, non in binario, non su disco e non in memoria.
una dichiarazione di tipo generico è compilato una volta per tutte, e trasformato in un unico file di classe, proprio come una classe ordinaria o interfaccia dichiarazione.
I parametri di tipo sono analoghi ai parametri ordinari utilizzati nei metodi o nei costruttori . Proprio come un metodo ha un valore formale con i parametri che descrivono i tipi di valori su cui opera, una dichiarazione generica di ha parametri di tipo formale. Quando viene invocato un metodo, gli argomenti effettivi vengono sostituiti per i parametri formali e viene valutato il corpo del metodo .
Quando una dichiarazione generica viene richiamato, gli argomenti di tipo reali sono sostituiti per i parametri di tipo formale. E questa è l'importanza di Generics.
si può guardare Qui per more information about Generics
È questo codice Java? – 6502
Cura di menzionare la lingua. – Malwaregeek
Siamo spiacenti, la domanda è editied. Non so della parte dell'interfaccia, l'ho appena copiata dal mio script, quindi presumo sia un codice valido. – user2440792