Java-Generika verstehen (Wildcards)
Wildcards in Java-Generika
Java-Generika stellen Typ bereit Sicherheit durch parametrisierte Typen und Platzhalter. Platzhalter sind Platzhalter, die unbekannte Typen darstellen und die Flexibilität in Sammlungen erhöhen.
Unterschied zwischen Liste erweitert T> und List super T>
- Liste erweitert T> (Platzhalter für obere Grenze): Gibt an, dass der Platzhalter jede Unterklasse oder den angegebenen Typ T enthalten kann. Sie können aus der Liste lesen, aber nicht darauf schreiben.
- Liste super T> (Unterer Platzhalter): Gibt an, dass der Platzhalter jede Superklasse oder den angegebenen Typ T enthalten kann. Damit können Sie Elemente zur Liste hinzufügen, aber nicht daraus lesen.
Begrenzte vs. unbegrenzte Wildcards
- Begrenzte Wildcards: Beschränken Sie die Art der Elemente, die in einer Sammlung enthalten sein können, mithilfe einer Obergrenze (? erweitert T) oder einer Untergrenze (? super T).
- Unbegrenzte Platzhalter: Stellt jeden Typ dar, ähnlich bis erweitert Objekt>.
Beispiel:
List super Animal> animals = new ArrayList<dog>(); // Upper Bounded Wildcard animals.add(new Dog()); // Allowed Dog animal = animals.get(0); // Not allowed List extends Animal> dogs = new ArrayList<dog>(); // Lower Bounded Wildcard dogs.add(new Animal()); // Not allowed Animal dog = dogs.get(0); // Allowed</dog></dog>
Fazit:
Platzhalter in Java-Generika bieten Flexibilität im Umgang mit Sammlungen unbekannter Typen. Nach oben begrenzte Platzhalter geben Unterklassen an, während nach unten begrenzte Platzhalter Superklassen angeben. Unbegrenzte Platzhalter repräsentieren jeden Typ. Das Verständnis dieser Konzepte ist für den effektiven Einsatz von Generika in der Java-Programmierung unerlässlich.
Das obige ist der detaillierte Inhalt vonJava Generics-Platzhalter: Was ist der Unterschied zwischen `list. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Wie zentralisiert man die Entität, Mapper und den Dienst des Geschäftsmoduls in das gemeinsame Modul in SpringCloudalibaba? Mit Springcloud ...

Go Language implementiert die Verschlüsselung und Entschlüsselung von SM4 und SM2 in GO -Sprache. In diesem Artikel wird detailliert vorgestellt, wie die GO -Sprache verwendet wird, um den Verschlüsselungs- und Entschlüsselungsprozess der Verschlüsselung und Entschlüsselung von SM4- und SM2 -Algorithmen in GO -Sprache zu implementieren, um den Anforderungen von Java zu erfüllen ...

Ist es notwendig, in einem Python -Projekt festzuhalten? Kürzlich, als ich Python lernte, bemerkte ich, dass viele der Django Open -Source -Projekte viele von ihnen in der Ansichtenfunktion geschrieben haben ...

Die Verarbeitung von Feldzuordnungen im Systemdocken stößt häufig auf ein schwieriges Problem bei der Durchführung von Systemdocken: So kartieren Sie die Schnittstellenfelder des Systems und ...

Wie erkennt Intellijidea die Hafenzahl des Springboot -Projekts? Beginnen Sie den Frühling mit der Intellijideaultimate -Version ...

Effiziente Programmierung: Suche nach zuverlässigen Code -Tools und -Ressourcen Viele Programmierer sind bestrebt, bequeme Websites für Code -Tools zu finden, um die Effizienz zu verbessern und massive Informationen zu vermeiden ...

Verwirrung und Antworten zu JWT und Sitzung Viele Anfänger sind oft verwirrt über ihre Natur und anwendbare Szenarien beim Erlernen von JWT und der Sitzung. Dieser Artikel dreht sich um J ...

Detaillierte Erläuterung des Kommunikationsproblems zwischen Windows Server 2019 Firewall und WebSocket. Das mit Springboot entwickelte JAR -Programm wird in Windows Server 2019 bereitgestellt ...


Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Dreamweaver Mac
Visuelle Webentwicklungstools

WebStorm-Mac-Version
Nützliche JavaScript-Entwicklungstools

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung