Heim  >  Artikel  >  Java  >  Warum verwendet Java Bereichstypen (generische Typen)?

Warum verwendet Java Bereichstypen (generische Typen)?

little bottle
little bottleOriginal
2019-05-29 11:53:083451Durchsuche

Was sind Generika? Generics beziehen sich auf die Fähigkeit, Typen zu parametrisieren. Sie können eine Klasse oder Methode mit einem generischen Typ definieren, der dann vom Compiler durch einen konkreten Typ ersetzt wird.

Warum verwendet Java Bereichstypen (generische Typen)?

Vorteile der Verwendung von Generika

Der Vorteil der Einführung von Generika in die Java-Sprache ist Sicherheit und Einfachheit. Der Vorteil von Generika besteht darin, dass die Typsicherheit während der Kompilierung überprüft wird und alle Umwandlungen automatisch und implizit erfolgen, was die Wiederverwendung von Code verbessert.

Im Detail:

1.

Das Hauptziel von Generika besteht darin, die Typsicherheit von Java-Programmen zu verbessern. Durch die Kenntnis der Typbeschränkungen von Variablen, die mithilfe von Generika definiert wurden, kann der Compiler Typannahmen in viel höherem Maße überprüfen. Ohne Generika existieren diese Annahmen nur im Kopf des Programmierers (oder, wenn Sie Glück haben, in Codekommentaren).

2. Erzwungene Typkonvertierung beseitigen.

Ein Nebenvorteil von Generika besteht darin, dass sie viele Umwandlungen in Ihrem Quellcode eliminieren. Dadurch wird der Code besser lesbar und die Fehlerwahrscheinlichkeit verringert.

3. Mögliche Leistungssteigerungen.

Generika bieten die Möglichkeit einer größeren Optimierung. Bei der anfänglichen Implementierung von Generics fügt der Compiler Casts (ohne Generics würde der Programmierer diese Casts angeben) in den generierten Bytecode ein. Aber die Tatsache, dass dem Compiler mehr Typinformationen zur Verfügung stehen, eröffnet die Möglichkeit von Optimierungen in zukünftigen Versionen der JVM. Aufgrund der Art und Weise, wie Generics implementiert werden, erfordert die Unterstützung von Generics (fast) keine JVM- oder Klassendateiänderungen. Die gesamte Arbeit wird im Compiler erledigt, der Code generiert, der dem ähnelt, was Sie ohne Generika (und Umwandlungen) schreiben würden, nur dass er typsicherer ist.

Einige Regeln und Einschränkungen für die Verwendung von Generika

1 Die Typparameter von Generika können nur Klassentypen (einschließlich benutzerdefinierter Klassen) sein, keine einfachen Typen.

2. Derselbe generische Typ kann mehreren Versionen entsprechen (da der Parametertyp unsicher ist) und verschiedene Versionen generischer Klasseninstanzen nicht kompatibel sind.

3. Generics können mehrere Typparameter haben.

4. Generische Parametertypen können die Extens-Anweisung verwenden, z. B. . Üblicherweise werden sie zu „begrenzten Typen“.

5. Generische Parametertypen können auch Platzhaltertypen sein. Zum Beispiel Class classType = Class.forName(Java.lang.String);

Das obige ist der detaillierte Inhalt vonWarum verwendet Java Bereichstypen (generische Typen)?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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