Bounded Typvariablen

Javt

Aktives Mitglied
Hi,

Das wildcards im Allgemeinen read-only sind ist ja logisch. Sind denn folgende Sachen auch nur "read-only"?:
1:
Java:
public static <T extends Portable> List<T> rightSublist( List<T> list )
--> Ist "list" read-only?

2.
Java:
public static <T> List<T> rightSubList(List<T> list)
--> ist "list" read-only?

lg
 

Landei

Top Contributor
Richtig, und es ist auch klar warum: Wenn du die Methode aufrufst, ist klar, welcher Typ T dort ist (sonst gäbe es an dieser Stelle einen Compile-Fehler) - sagen wir einmal BlubbPortable. Dann ist auch die Liste von exakt diesem Typ ist, ist es auch kein Problem, ein BlubbPortable in die Liste hineinzustopfen.

Eine List mit Wildcards ist etwas völlig anderes: [c]List<? extends Portable>[/c] bedeutet, wir haben hier eine Liste von irgend einem festen Untertyp von Portable (oder Portable selber), aber wir kennen diesen Typ nicht genau. Ein BlubbPortable hineinzustopfen wäre fatal, den die Liste kann genausogut eine [c]List<BoingPortable>[/c] sein.
 

Ähnliche Java Themen

Neue Themen


Oben