1-Allora la frase evidenziata in nero é un inessattezza e andrebbe cancellata? (si/no)
La frase evidenziata in nero è sbagliata? (si/no)
In generale, per definire un limite superiore per un jolly utilizzando il tipo di espressione jolly di seguito:
<? Extends superclasse>
Dove superclasse è il nome della classe che serve da limite superiore. Si ricordi che si tratta di una clausola inclusiva, perché anche la classe che rappresenta il limite superiore (specificata da superclasse) si trova entro i limiti.
E' possibile specificare anche un limite inferiore per un jolly aggiungendo una clausola super a una dichiarazione di jolly. Di seguito la forma generale:
<? super sottoclasse>
In questo caso sono argomenti accettabili solo le classi che sono superclassi di sottoclassi.
Si tratta di una clausola esclusiva, perché non corrisponde alla classe specificata da sottoclasse.
2-Ho capito super. Quello che dici è giusto infatti se scrivo:
codice:
class Coords<T extends ThreeD> {
T[] coords;
Coords(T[] o) {
coords = o;
}
}
// Demonstrate a bounded wildcard.
class EsempioConGenericSuperExtends {
static void showXYZ(Coords<? super ThreeD> c) {
System.out.println("X Y Z Coordinates:");
for (int i = 0; i < c.coords.length; i++)
System.out.println(c.coords[i].x + " " + c.coords[i].y + " "
+ c.coords[i].z);
System.out.println();
}
showXYZ(tdlocs3); funziona alla perfezione.