ホームページ >Java >&#&チュートリアル >なぜ Java はジェネリック配列型を作成できないのでしょうか?
Java での汎用配列型の作成
Java は、汎用配列型の処理において特定の .NET 実装とは異なります。
問題
次のコードを考えてみましょう:
private T[] elements = new T[initialCapacity];
このコードは、ジェネリック型 T の配列を作成しようとしています。ただし、Java はこの構文を禁止しています。
объяснение
その理由この制限の背後にあるのは、Java のランタイム配列の実装です。ジェネリックとは異なり、Java 配列は実行時にコンポーネントの型に関する情報を保存します。したがって、配列の作成時にコンポーネントの型を知る必要があります。
パラメーター T はジェネリック型を表し、実際の型は実行時に決定されるため、コンパイル時に配列のコンポーネントの型を確認することは不可能です。これにより、配列要素にアクセスしようとするとランタイム エラーが発生します。
以上がなぜ Java はジェネリック配列型を作成できないのでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。