suchen
HeimJavaJavaErste SchritteDetaillierte Einführung in Java-Generika

Detaillierte Einführung in Java-Generika

Nov 27, 2019 pm 04:30 PM
java泛型

Detaillierte Einführung in Java-Generika

Java Generics

Generics bieten einen Typsicherheitserkennungsmechanismus zur Kompilierungszeit, der es Programmierern ermöglicht, illegale Typen zu erkennen. Das Wesentliche bei Generika ist ein parametrisierter Typ, was bedeutet, dass der Datentyp, mit dem gearbeitet wird, als Parameter angegeben wird.

Wenn wir beispielsweise eine Sortiermethode schreiben möchten, die ein Ganzzahl-Array, ein String-Array oder sogar jede andere Art von Array sortieren kann, können wir Java-Generika verwenden.

Kostenlose Online-Lernvideo-Empfehlung: Java-Online-Video

1. Generische Methode

Sie können eine generische Methode schreiben, die beim Aufruf verschiedene Arten von Parametern empfangen kann. Abhängig von den an die generische Methode übergebenen Parametertypen verarbeitet der Compiler jeden Methodenaufruf entsprechend.

Zum Beispiel:

public static < E > void printArray( E[] inputArray ){
	for ( E element : inputArray ){
		System.out.printf( "%s ", element );
	}
}

Generische Grenze

(1) erweitert T> bedeutet, dass der durch den Platzhalter dargestellte Typ vom Typ ist T-Unterklasse.

(2) super T> gibt an, dass der durch den Platzhalter dargestellte Typ die übergeordnete Klasse des T-Typs ist.

2. Generische Klasse

Die Deklaration einer generischen Klasse ähnelt der Deklaration einer nicht generischen Klasse, außer dass danach ein Typparameter-Deklarationsteil hinzugefügt wird der Klassenname. Wie generische Methoden enthält auch der Typparameter-Deklarationsteil einer generischen Klasse einen oder mehrere durch Kommas getrennte Typparameter.

Ein generischer Parameter, auch Typvariable genannt, ist ein Bezeichner, der zur Angabe des Namens eines generischen Typs verwendet wird. Da sie einen oder mehrere Parameter akzeptieren, werden diese Klassen parametrisierte Klassen oder parametrisierte Typen genannt.

Zum Beispiel:

public class Box<T> {
private T t;
public void add(T t) {
this.t = t;
}
public T get() {
return t;
}
}

3. Typ-Wildcard?

Typ-Wildcard verwendet im Allgemeinen ? anstelle bestimmter Typparameter. Beispielsweise ist List> logischerweise die übergeordnete Klasse von List, List und allen tatsächlichen Parametern des Typs List.

4. Typlöschung

Generika werden in Java grundsätzlich auf Compilerebene implementiert. Die Typinformationen in Generics sind nicht im generierten Java-Bytecode enthalten. Bei der Verwendung von Generika hinzugefügte Typparameter werden vom Compiler während der Kompilierung entfernt. Dieser Vorgang wird als Typlöschung bezeichnet.

Typen wie List und List, die im Code definiert sind, werden nach der Kompilierung zu List. Alles, was die JVM sieht, ist die Liste, und die durch Generics angehängten Typinformationen sind für die JVM unsichtbar.

Der grundlegende Prozess der Typlöschung ist ebenfalls relativ einfach. Der erste Schritt besteht darin, die spezifische Klasse zu finden, die zum Ersetzen der Typparameter verwendet wird. Diese konkrete Klasse ist normalerweise Object. Wenn eine Obergrenze für einen Typparameter angegeben ist, wird diese Obergrenze verwendet. Ersetzen Sie alle Typparameter im Code durch bestimmte Klassen.

Tutorials zu Java-bezogenen Artikeln: Einführung in die Java-Sprache

Das obige ist der detaillierte Inhalt vonDetaillierte Einführung in Java-Generika. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme
Dieser Artikel ist reproduziert unter:CSDN. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
1 Monate vorBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
1 Monate vorBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
1 Monate vorBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Chat -Befehle und wie man sie benutzt
1 Monate vorBy尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

SecLists

SecLists

SecLists ist der ultimative Begleiter für Sicherheitstester. Dabei handelt es sich um eine Sammlung verschiedener Arten von Listen, die häufig bei Sicherheitsbewertungen verwendet werden, an einem Ort. SecLists trägt dazu bei, Sicherheitstests effizienter und produktiver zu gestalten, indem es bequem alle Listen bereitstellt, die ein Sicherheitstester benötigen könnte. Zu den Listentypen gehören Benutzernamen, Passwörter, URLs, Fuzzing-Payloads, Muster für vertrauliche Daten, Web-Shells und mehr. Der Tester kann dieses Repository einfach auf einen neuen Testcomputer übertragen und hat dann Zugriff auf alle Arten von Listen, die er benötigt.

PHPStorm Mac-Version

PHPStorm Mac-Version

Das neueste (2018.2.1) professionelle, integrierte PHP-Entwicklungstool

DVWA

DVWA

Damn Vulnerable Web App (DVWA) ist eine PHP/MySQL-Webanwendung, die sehr anfällig ist. Seine Hauptziele bestehen darin, Sicherheitsexperten dabei zu helfen, ihre Fähigkeiten und Tools in einem rechtlichen Umfeld zu testen, Webentwicklern dabei zu helfen, den Prozess der Sicherung von Webanwendungen besser zu verstehen, und Lehrern/Schülern dabei zu helfen, in einer Unterrichtsumgebung Webanwendungen zu lehren/lernen Sicherheit. Das Ziel von DVWA besteht darin, einige der häufigsten Web-Schwachstellen über eine einfache und unkomplizierte Benutzeroberfläche mit unterschiedlichen Schwierigkeitsgraden zu üben. Bitte beachten Sie, dass diese Software

Dreamweaver Mac

Dreamweaver Mac

Visuelle Webentwicklungstools

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools