bounded-wildcard

Bounded Wildcard ist ein Typargument der Form "? extends T" oder "? super T". Begrenzte Wildcards sind ein Merkmal von Generika in der Java-Sprache. Diese Typargumente repräsentieren einen unbekannten Typ mit einer oberen oder unteren Grenze.
2
Antworten

Verwenden Sie generic, um einen allgemeinen Supertyp in Java zu speichern

Angenommen, ich habe eine Methode "mixen", die zwei Listen von möglicherweise unterschiedlichen Typen T und S nimmt und eine einzelne Liste zurückgibt, die die Elemente von beiden enthält. Für type-safety möchte ich angeben, dass die zurückgegeb...
18.08.2013, 21:12
4
Antworten

Warum kann ich den Platzhalter (?) nicht als Parametertyp, Feld, lokale Variable oder als Rückgabetyp einer Methode verwenden?

Das Oracle-Dokument über Wildcards in Generics lautet:    Der Platzhalter kann in verschiedenen Situationen verwendet werden: als Typ von a   Parameter , Feld oder lokale Variable ; manchmal als return type   (Obwohl es eine bessere P...
23.06.2016, 17:51
2
Antworten

Unterschied der Zuweisbarkeit mit geschachtelten Wildcards in Java 7/8 Generics

Das folgende Kompilieren funktioniert in JDK8 gut, gibt aber einen inkompatiblen Typen Fehler mit JDK7. %Vor% Laut dieser Antwort hat List<List<? extends Number>> keine Obertyp-Beziehung zu List<List<Integer>>...
12.06.2014, 15:56
2
Antworten

In Guave, warum ist nur "T" wo verwendet? Super T "wäre möglich?

Warum verwenden die Utility-Factory-Methoden häufig einen spezifischen generischen Parameter (wie T ) anstelle eines beschränkten Wildcard-Parameters (wie ? super T )? Zum Beispiel die Signatur von Funktionen # forPredicate ist: %Vor%...
31.01.2013, 17:11
3
Antworten

Java generische Methoden: super kann nicht verwendet werden?

Also ich habe diese Methode: %Vor% Ich möchte die Sammlung zurückgeben, anstatt eine ungültige Methode zu verwenden: %Vor% mit der Absicht, so etwas zu tun (wo MyItemClass extends MyItemBaseClass ): %Vor% aber ich bekomme einen Syn...
06.12.2011, 16:39
1
Antwort

Platzhalter mit abschließender Obergrenze

Class<? extends Integer> wird gut kompiliert, aber Integer ist ein letzter Typ, daher ist es nicht sinnvoll, ihn als obere Grenze zu verwenden (nichts wird jemals extend it). Wenn Sie versuchen, einen letzten Typ als obere Gren...
11.08.2012, 21:17
4
Antworten

Mehrere Platzhaltergrenzen

Angenommen, ich habe die folgende Klasse: %Vor% Either ist ein Typ, der ein Objekt vom Typ A oder B speichert. get() ruft das eine Objekt ab. Die Frage ist, ob es möglich ist, Generics zu verwenden, um die Methodensignatur von get(...
01.09.2012, 17:49