Heim > Java > javaLernprogramm > Wie funktioniert Java Generics? Super`-Wildcards funktionieren und was sind ihre Einschränkungen?

Wie funktioniert Java Generics? Super`-Wildcards funktionieren und was sind ihre Einschränkungen?

DDD
Freigeben: 2024-11-25 06:17:16
Original
606 Leute haben es durchsucht

How Do Java Generics' `? super` Wildcards Work and What Are Their Limitations?

Java Generics Super-Schlüsselwort

Begrenzte Platzhalter verstehen

Wenn wir begrenzte Platzhalter mit super verwenden, bedeutet dies, dass der Typparameter der angegebene Typ sein kann oder eine seiner Superklassen. Beispiel: Liste gibt an, dass die Liste Objekte vom Typ „Number“ oder eine ihrer übergeordneten Klassen enthalten kann.

Elemente zu begrenzten Platzhaltern hinzufügen

In Ihrem ersten Beispiel wurde die Liste list als deklariert Liste kann kein Objekt annehmen, da Objekt keine Unterklasse von Zahl ist. Andererseits ist Integer eine Unterklasse von Number und kann daher zur Liste hinzugefügt werden.

Kompilierungsfehler mit Super-Schlüsselwort

In Ihrem zweiten Beispiel haben Sie versucht, eine List< Zeichenfolge> zu einer Methode, die ein List. Dieser Kompilierungsfehler tritt auf, weil String keine Unterklasse von Number ist. Die von Ihnen dargestellte Logik ist falsch: Das Objekt ist keine Oberklasse von Number und String ist keine Unterklasse von Number.

EINSCHRÄNKUNGEN FÜR WILDCARDS

Im Gegensatz zu nach unten begrenzten Wildcards können nach oben begrenzte Wildcards nicht als Produzenten verwendet werden. Das bedeutet, dass Sie keine einzelnen Elemente aus einer List. Diese Einschränkung besteht, um Verstöße gegen die Typsicherheit zu verhindern.

Fazit

Begrenzte Platzhalter mit Super ermöglichen es uns, Sammlungen zu erstellen, die Objekte mehrerer Typen verbrauchen können, die von einer gemeinsamen Oberklasse erben . Allerdings sollten wir beim Hinzufügen von Elementen zu diesen Sammlungen vorsichtig sein, da wir keine Objekte hinzufügen können, die keine Unterklassen der angegebenen Oberklasse sind.

Das obige ist der detaillierte Inhalt vonWie funktioniert Java Generics? Super`-Wildcards funktionieren und was sind ihre Einschränkungen?. 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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage