Java 言語にジェネリックを導入する利点は、安全性と単純さです。ジェネリックの利点は、コンパイル中に型安全性がチェックされ、すべてのキャストが自動かつ暗黙的であるため、コードの再利用が向上することです。
詳細:
1. タイプ セーフティ。
ジェネリックの主な目的は、Java プログラムのタイプ セーフを向上させることです。ジェネリックスを使用して定義された変数の型制限を知ることで、コンパイラーは型の仮定をより高度に検証できます。ジェネリックスがなければ、これらの仮定はプログラマーの頭の中 (または、運が良ければコード コメントの中に) のみ存在します。
2, 強制的な型変換を排除します。
ジェネリックの副次的な利点は、ソース コード内の多くのキャストが削除されることです。これにより、コードが読みやすくなり、エラーの可能性が減ります。
3. 潜在的なパフォーマンス向上。
ジェネリックは、より大きな最適化の可能性をもたらします。ジェネリックの最初の実装では、コンパイラは生成されたバイトコードにキャスト (ジェネリックを使用しない場合はプログラマがこれらのキャストを指定します) を挿入します。しかし、コンパイラーがより多くの型情報を利用できるという事実により、JVM の将来のバージョンで最適化の可能性が開かれます。ジェネリックスの実装方法により、ジェネリックスのサポートには JVM やクラス ファイルの変更が (ほとんど) 必要ありません。すべての作業はコンパイラで行われ、ジェネリックス (およびキャスト) を使用しない場合と同様のコードが生成されますが、よりタイプセーフであるだけです。
1. ジェネリックの型パラメーターは、単純型ではなく、クラス型 (カスタム クラスを含む) のみにすることができます。
2. 同じジェネリック型が複数のバージョンに対応する可能性があり (パラメーターの型が不確かであるため)、異なるバージョンのジェネリック クラス インスタンスには互換性がありません。
3. ジェネリックスには複数の型パラメーターを含めることができます。
4. ジェネリック パラメーター タイプでは、
5. ジェネリック型のパラメータ型は、ワイルドカード型にすることもできます。たとえば、 Class> classType = Class.forName(Java.lang.String);
以上がJava がスコープ (ジェネリック) 型を使用するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。