Heim > Java > javaLernprogramm > Hauptteil

Java Generics: Wie funktioniert das Schlüsselwort „super' wirklich mit begrenzten Platzhaltern?

Barbara Streisand
Freigeben: 2024-11-25 13:55:12
Original
724 Leute haben es durchsucht

Java Generics: How Does the `super` Keyword Really Work with Bounded Wildcards?

Java-Generika: Das Schlüsselwort „Super“ entmystifizieren

Einführung:

Das Schlüsselwort „Super“ in Java-Generika verstehen kann eine verwirrende Aufgabe sein. Dieser Artikel soll Licht in dieses Konzept bringen, indem er seine Nuancen anhand spezifischer Beispiele untersucht und häufige Missverständnisse anspricht.

Begrenzte Generika mit dem Schlüsselwort „Super“:

Der begrenzte Platzhalter Liste ermöglicht die Erfassung von Number und seinen Supertypen. Es ist jedoch wichtig zu beachten, dass dies nicht bedeutet, dass Sie dieser Liste einen beliebigen Zahlen-Supertyp hinzufügen können.

Unerwartetes Verhalten von Objekt vs. Ganzzahl:

Im Sie haben beispielsweise erwähnt, dass Integer(0) zu List< hinzugefügt werden kann. super Number>, während Object() dies nicht kann. Dieses Verhalten ergibt sich aus den Erfassungskonvertierungsregeln für begrenzte Platzhalter. Liste kann nur Number, Object und Serializable erfassen, wobei Number der niedrigste Supertyp ist.

Warum String zur Liste hinzufügen Kompiliert nicht:

Obwohl String Object, eine Oberklasse von Number, erweitert, fügt String zu List< hinzu? Supernummer> lässt sich nicht kompilieren. Dies liegt daran, dass begrenzte Platzhalter den Producer-Extends-Consumer-Super-Richtlinien (PECS) folgen. Liste ist ein Konsument von Number, daher kann sein Argumenttyp kein Produzent von String sein.

Warum ist In Java Generics erlaubt?

Das Fehlen von Konstrukte in Java-Generika ergeben sich aus der Tatsache, dass sie keinen Sinn ergeben. Wenn ein generischer Typ jeden Supertyp seiner Grenze akzeptieren kann, ist kein spezifischer Typparameter erforderlich.

Fazit:

Das Schlüsselwort „super“ in Java-Generika verstehen erfordert eine sorgfältige Abwägung seiner Auswirkungen und die Einhaltung der PECS-Richtlinien. Wenn Sie diese Konzepte verstehen, können Sie begrenzte Platzhalter effektiv nutzen, um die Flexibilität Ihrer APIs zu erhöhen.

Das obige ist der detaillierte Inhalt vonJava Generics: Wie funktioniert das Schlüsselwort „super' wirklich mit begrenzten Platzhaltern?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage