Java -ジェネリックス-
ジェネリックスとは、クラスやインタフェース、メソッドなどの「型」をパラメータ化することを可能にする機能です。
=ジェネリックスの記述方法=
- ジェネリックスを使用した変数の宣言
- コレクション型 < データ型 > 変数名;
- ジェネリックスを使用した変数の宣言(パラメータが2つの場合)
- コレクション型 < データ型1,データ型2 > 変数名;
ジェネリックスを使用して宣言したコレクション(オブジェクト)を生成する場合は、コンストラクタにも 型パラメータの宣言と記述が必要です。
型パラメータは原則として右辺、左辺で同じデータ型を指定しないとコンパイルエラーになります。
型変換が可能でもサブクラスの型を記述することは、できません。
- ジェネリックスを利用して宣言したコレクションの生成
- コレクション型 < データ型 > 変数名 = new コレクション型 < データ型 >(引数1[,引数2…])
- ※ []は省略可能
ジェネリックスを利用するとJDK1.4以前ではできなかった、格納されたオブジェクトの型をコンパイル時に チェックすることができ、要素を取り出す際にもキャストする必要もないため、安全にコレクションを利用することが できます。これをタイプセーフといいます。
ジェネリックスがコンパイル時にのみ型チェックを行うのに対し、配列を利用すると型が明確になっているため コンパイル時と実行時の両方で型チェックを行うことができ、よりタイプセーフといえます。