ジェネリックは Java SE 1.5 の新機能です。「Java コア テクノロジ」におけるジェネリックの定義は次のとおりです:
「ジェネリック」とは、書かれたコードを意味します。さまざまな種類のオブジェクト。
ジェネリックは、より再利用可能なコードを記述するために提案されていることがわかります。
ジェネリックの本質はパラメータ化された型です。これは、操作されるデータ型がパラメータとして指定されることを意味します。
たとえば、共通コレクション クラス LinkedList:
public class LinkedList<E> extends AbstractSequentialList<E> implements List<E>, Deque<E>, Queue<E>, Cloneable, Serializable { //... transient Link<E> voidLink; //...
ご覧のとおり、LinkedList1a4db2c2c2313771e5742b6debf617a1 クラス名と実装するインターフェイス名。 、そのメンバーの型 Link1a4db2c2c2313771e5742b6debf617a1 にも "" が含まれます。このシンボルは型パラメータであり、新しい LinkedList など、実行時に LinkedList を作成するときにさまざまな型を渡すことができます。そのメンバーが格納されていること。型も String です。
実際、ジェネリックスを導入する主な目標は次のとおりです。
● タイプ セーフティ
の主な目標ジェネリックス 目標は、Java プログラムの型安全性を向上させることです。
不正な Java 型によって引き起こされる ClassCastException 例外は、コンパイル中にチェックできます。
エラーの発生が早ければ早いほど、発生するエラーは小さくなるという原則に沿って、コスト
● 強制的な型変換の排除
#ジェネリックスの副次的な利点は、使用時にターゲットの型を直接取得できるため、多くの強制的な型変換が排除されることです必要なものが得られるため、コードが読みやすくなり、エラーの可能性が減ります。 #● パフォーマンスが向上する可能性があります。#ジェネリックスが実装されており、ジェネリックスのサポートは (ほとんど) JVM やクラスを必要としません ファイルの変更
すべての作業はコンパイラで行われますコンパイラによって生成されたコードは、コンパイラを使用せずに記述されたコードとほぼ同じですジェネリックス (およびキャスト) を使用すると、より確実に入力できるようになります。以上がJavaジェネリックスを理解する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。