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.
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.
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!