ホームページ >Java >&#&チュートリアル >Java で LinkedList の配列を作成できないのはなぜですか?
Java で LinkedList 配列をインスタンス化できません
このスレッドでは、開発者が Java で LinkedList の配列を作成しようとしているときに問題に遭遇しましたスパース行列に値を格納します。エラー メッセージ「LinkedList
このエラーの根本原因は何ですか?
根本原因は、Java の汎用配列の作成に対する制限にあります。非プリミティブ型。ジェネリックは、実行時の ClassCastException を防ぐために Java 5 で導入されたタイプセーフなメカニズムです。 LinkedList
理由この型は配列宣言では受け入れられますが、作成では受け入れられませんか?
配列宣言では、ジェネリック型パラメーターが指定されていない生の型 LinkedList[] が使用されています。生の型は型指定されていないため、型安全性は強制されません。ただし、配列をインスタンス化するとき、コンパイラは特定の型パラメータを指定する必要があり、そこでエラーが発生します。
解決策:
この問題を解決するには、型キャストを実行する必要があります。修正されたコードは次のようになります。
myMatrix = (LinkedList<IntegerNode>[]) new LinkedList<?>[numRows];
キャスト (LinkedList
以上がJava で LinkedList の配列を作成できないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。