Domanda

In Java argomenti di tipo, significa rigorosamente sottotipi solo? o che via E anche bastano?

È stato utile?

Soluzione

Sì, super e extends dà limiti inferiore e superiore, rispettivamente, all inclusive.

Ecco una citazione da Angelika di Langer Generics FAQ :

  

Che cosa è un jolly limitato?

     

Un jolly con un superiore aspetto rilegati come ? extends Type e si distingue per la famiglia di tutti i tipi che sono sottotipi di Type, tipo Type essere inclusi . Type è chiamato il limite superiore .

     

Un jolly con un limite inferiore appare come ? super Type e si distingue per la famiglia di tutti i tipi che sono supertipi di Type, tipo Type essere incluso . Type è chiamato il limite inferiore .

Altri suggerimenti

Non è rigorosa; E sarebbe sufficiente.

List<? extends Animal> animalList=new List<Dog>();
List<? extends Animal> animalList=new List<Animal>();

Sia le linee di compilazione senza alcun errore. Ogni funzione prendendo la lista come parametro capisce che gli oggetti nella lista sono di tipo E o un sottotipo di E.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top