Was bedeutet <>
In Java bezieht sich <> auf Generika. Generics können Typfehler während der Kompilierung erkennen und verhindern, dass undefinierte Typen angezeigt werden. Das Wesentliche bei Generika ist ein parametrisierter Typ, was bedeutet, dass der Datentyp, mit dem gearbeitet wird, als Parameter angegeben wird.
Definition von Generika:
Generika sind ein Merkmal von Programmiersprachen. Ermöglicht Programmierern, generischen Code in einer stark typisierten Programmiersprache zu schreiben, veränderbare Teile zu definieren, die vor der Verwendung angegeben werden müssen.
Verschiedene Programmiersprachen, ihre Compiler und Laufzeitumgebungen bieten unterschiedliche Unterstützung für Generika. Ein Datentyp, der Typen parametrisiert, um die Wiederverwendung von Code zu erreichen und die Arbeitseffizienz bei der Softwareentwicklung zu verbessern.
Generische Klassen sind Referenztypen und Heap-Objekte. Sie führen hauptsächlich das Konzept der Typparameter ein.
Vorteile der Verwendung von Generika
Die Einführung von Generika in der Java-Sprache ist eine wesentliche Funktionserweiterung. Nicht nur Sprachen, Typsysteme und Compiler wurden erheblich geändert, um Generika zu unterstützen, sondern auch Klassenbibliotheken wurden erheblich verändert. Viele wichtige Klassen, wie z. B. das Sammlungsframework, sind generisch geworden. Dies bringt viele Vorteile mit sich:
1. Typsicherheit
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 auf einem sehr hohen Niveau überprüfen. Ohne Generika existieren diese Annahmen nur in den Köpfen der Systementwickler.
Generics ermöglichen es dem Compiler, diese zusätzlichen Typbeschränkungen durchzusetzen, indem er diese zusätzlichen Typinformationen in der Variablendeklaration erfasst. Typfehler werden jetzt zur Kompilierungszeit abgefangen, anstatt zur Laufzeit als ClassCastException angezeigt zu werden. Durch die Verlagerung der Typprüfung von der Laufzeit zur Kompilierzeit können Java-Entwickler Fehler früher und einfacher finden und die Programmzuverlässigkeit verbessern.
2. Casts eliminieren
Ein Nebenvorteil von Generika ist die Eliminierung vieler Casts im Quellcode. Dadurch wird der Code besser lesbar und die Fehlerwahrscheinlichkeit verringert. Obwohl die Reduzierung von Umwandlungen Code verbessern kann, der generische Klassen verwendet, gibt es bei der Deklaration generischer Variablen einen entsprechenden Nachteil. Die einmalige Verwendung einer generischen Variablen in einem einfachen Programm verringert nicht die Popularität des Codes. Bei großen Programmen, die generische Variablen jedoch mehrfach verwenden, kann die Anzahl der Likes akkumuliert werden, um die Anzahl der Likes zu reduzieren. Daher wird der Code klarer und sauberer, nachdem Generika die erzwungene Typkonvertierung beseitigt haben.
2. Casts eliminieren
Ein Nebeneffekt von Generika ist die Eliminierung vieler Casts im Quellcode. Dadurch wird der Code besser lesbar und die Fehlerwahrscheinlichkeit verringert. Obwohl die Reduzierung von Umwandlungen Code verbessern kann, der generische Klassen verwendet, gibt es bei der Deklaration generischer Variablen einen entsprechenden Nachteil. Die einmalige Verwendung einer generischen Variablen in einem einfachen Programm verringert nicht die Popularität des Codes. Bei großen Programmen, die generische Variablen jedoch mehrfach verwenden, kann die Anzahl der Likes akkumuliert werden, um die Anzahl der Likes zu reduzieren. Daher wird der Code klarer und sauberer, nachdem Generika die erzwungene Typkonvertierung beseitigt haben.
3. Höhere Betriebseffizienz
Bei der nicht generischen Programmierung führt die Übergabe eines einzelnen Typs als Objekt zu Boxing- und Unboxing-Vorgängen, die für beide Prozesse einen erheblichen Overhead verursachen. Nach der Einführung von Generika müssen keine Boxing- und Unboxing-Vorgänge mehr durchgeführt werden, sodass die Betriebseffizienz relativ hoch ist. Insbesondere in Systemen, in denen Sammelvorgänge sehr häufig stattfinden, ist die durch diese Funktion erzielte Leistungsverbesserung deutlicher.
4. Mögliche Leistungssteigerungen
Generika bieten die Möglichkeit größerer Optimierungen. Bei der anfänglichen Implementierung von Generics fügt der Compiler Casts (ohne Generics würden Java-Systementwickler 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.
Empfohlenes Tutorial: Java-Tutorial
Das obige ist der detaillierte Inhalt vonWas bedeutet <> in Java?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!