Was sind Generika in Java? Welche Vorteile bietet die Verwendung von Generika?
Generikatypen sind Eine neue Funktion von Java SE 1.5. Der Kern von Generics sind parametrisierte Typen, was bedeutet, dass der Datentyp, mit dem gearbeitet wird, als Parameter angegeben wird.
Vorteile: >2. Abwärts- und Abwärtskompatibilität3. Hohe Leistung, Code In GJ (generisches JAVA) geschrieben, kann es für Java kompiliert werden. Der Server und die virtuelle Maschine bringen mehr Typinformationen mit, was Bedingungen für die weitere Optimierung von Java-Programmen bietet.
Wie funktionieren Generika in Java? Was ist Typlöschung?
1. Typprüfung: Typprüfung vor der Generierung von Bytecode durchführen
2. Typlöschung: Alle Typparameter werden durch ihre qualifizierten Typen ersetzt, einschließlich Klassen, Variablen und Methoden (Typlöschung). )
3. Wenn Typlöschung und Polymorphismus in Konflikt stehen, wird in der Unterklasse eine Brückenmethode generiert, um das Problem zu lösen 4. Wenn eine generische Methode aufgerufen wird, wird eine Umwandlung durchgeführt wird beim Aufruf der Methode eingefügt
Typlöschung:
Alle Typparameter werden durch ihre qualifizierten Typen ersetzt:
Zum Beispiel T-> Objekt? Zur Laufzeit liegen keine typbezogenen Informationen vor. Beispielsweise wird List zur Laufzeit nur durch eine Liste dargestellt.
Der Zweck besteht darin, die Kompatibilität mit binären Klassenbibliotheken sicherzustellen, die in Versionen vor Java 5 entwickelt wurden. Sie können zur Laufzeit nicht auf die Typparameter zugreifen, da der Compiler den generischen Typ in einen primitiven Typ konvertiert hat. Abhängig von Ihrer Antwort auf diese generische Frage erhalten Sie einige Folgefragen, z. B. warum Generika durch Typlöschung implementiert werden, oder es werden Ihnen einige falsche Generika angezeigt, die Compiler-Fehler verursachen.
Können Sie eine List an eine Methode übergeben, die einen List
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