Java でジェネリック配列を作成できないのはなぜですか?

Barbara Streisand
リリース: 2024-11-03 10:39:03
オリジナル
861 人が閲覧しました

Why Can't You Create Generic Arrays in Java?

ジェネリック配列作成エラー: 代替手段の探索

質問に例示されているように、Java でジェネリック クラスの配列を作成しようとすると、必然的にエラーが発生します。 Java ではこの機能がサポートされていないため、代替アプローチが必要です。

コレクションの使用を検討する

配列の代わりにコレクションを利用すると、この制約に効果的に対処できます。たとえば、ArrayList はオブジェクトのリストを保存できるため、データの管理に柔軟性が得られます。

別のオプション: 補助クラス

もう 1 つの実行可能な解決策には、補助クラスの作成が含まれます。クラス。たとえば、MyObjectArrayList という名前のクラスは ArrayList を拡張できます。その後、MyObjectArrayList インスタンスの配列を作成して、問題を回避できます。

禁止事項を理解する

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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!