Heim >Java >javaLernprogramm >Warum kann Java keine generischen Array-Typen erstellen?
Generische Array-Typen in Java erstellen
Java unterscheidet sich von bestimmten .NET-Implementierungen in der Handhabung generischer Array-Typen.
Das Problem
Bedenken Sie Folgendes Code:
private T[] elements = new T[initialCapacity];
Dieser Code versucht, ein Array vom generischen Typ T zu erstellen. Java verbietet diese Syntax jedoch.
объяснение
Die Der Grund für diese Einschränkung liegt in der Laufzeit-Array-Implementierung von Java. Im Gegensatz zu generischen Arrays speichern Java-Arrays zur Laufzeit Informationen über ihren Komponententyp. Folglich muss der Komponententyp bekannt sein, wenn das Array erstellt wird.
Da der Parameter T einen generischen Typ darstellt und sein tatsächlicher Typ zur Laufzeit bestimmt wird, ist es unmöglich, den Komponententyp des Arrays zur Kompilierungszeit zu ermitteln. Dies würde zu Laufzeitfehlern beim Zugriff auf die Array-Elemente führen.
Das obige ist der detaillierte Inhalt vonWarum kann Java keine generischen Array-Typen erstellen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!