Heim > Java > javaLernprogramm > Warum können Sie in Java keine generischen Arrays erstellen?

Warum können Sie in Java keine generischen Arrays erstellen?

Barbara Streisand
Freigeben: 2024-11-03 10:39:03
Original
920 Leute haben es durchsucht

Why Can't You Create Generic Arrays in Java?

Generischer Array-Erstellungsfehler: Alternativen werden untersucht

Der Versuch, ein Array einer generischen Klasse in Java zu erstellen, wie in der Frage veranschaulicht, wird dies tun unweigerlich auf einen Fehler stoßen. Java unterstützt diese Funktion nicht, sodass alternative Ansätze erforderlich sind.

Erwägen Sie die Verwendung einer Sammlung

Anstelle eines Arrays kann die Verwendung einer Sammlung diese Einschränkung effektiv beheben. Eine ArrayList kann beispielsweise eine Liste von Objekten speichern und bietet so Flexibilität bei der Verwaltung der Daten.

Eine weitere Option: Hilfsklasse

Eine weitere praktikable Lösung besteht darin, eine Hilfsklasse zu erstellen Klasse. Beispielsweise könnte eine Klasse mit dem Namen MyObjectArrayList ArrayList erweitern. Anschließend könnte ein Array von MyObjectArrayList-Instanzen erstellt werden, um das Problem zu umgehen.

Das Verbot verstehen

Das Verbot generischer Arrays in Java ist tief im Design der Sprache verwurzelt . Das folgende Beispiel veranschaulicht ein mögliches Szenario, das diese Einschränkung rechtfertigt:

<code class="java">List<String>[] lsa = new List<String>[10]; // illegal
Object[] oa = lsa;  // OK because List<String> is a subtype of Object
List<Integer> li = new ArrayList<Integer>();
li.add(new Integer(3));
oa[0] = li; 
String s = lsa[0].get(0);</code>
Nach dem Login kopieren

Ohne diese Einschränkung könnte solcher Code zu unerwartetem Verhalten führen, z. B. der Zuweisung einer Liste von Ganzzahlen zu einem Array, das für Zeichenfolgen gedacht ist.

Das obige ist der detaillierte Inhalt vonWarum können Sie in Java keine generischen Arrays erstellen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage