ジェネリック配列作成エラー: 代替手段の探索
質問に例示されているように、Java でジェネリック クラスの配列を作成しようとすると、必然的にエラーが発生します。 Java ではこの機能がサポートされていないため、代替アプローチが必要です。
コレクションの使用を検討する
配列の代わりにコレクションを利用すると、この制約に効果的に対処できます。たとえば、ArrayList はオブジェクトのリストを保存できるため、データの管理に柔軟性が得られます。
別のオプション: 補助クラス
もう 1 つの実行可能な解決策には、補助クラスの作成が含まれます。クラス。たとえば、MyObjectArrayList という名前のクラスは ArrayList
禁止事項を理解する
Java におけるジェネリック配列の禁止は、言語の設計に深く根ざしています。 。次の例は、この制限が正当化される潜在的なシナリオを示しています。
<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>
この制限がないと、そのようなコードは、文字列用の配列に整数のリストを割り当てるなど、予期しない動作を引き起こす可能性があります。
以上がJava でジェネリック配列を作成できないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。