トップ
トップ >  プログラミング言語 >  Java >  ジェネリックス
ジェネリックス
概要
型をパラメータで決定するものです。

クラス定義
書式
class クラス名<型パラメータ [extends 型 | super 型][,型パラメータ [extends 型 | super 型]]…>{
項目説明
型パラメータ型を指定します。
extends指定したサブクラスを許可します。
super指定したスーパークラスを許可します。

変数宣言
書式
クラス名<型 [,型]…> 変数名;
クラス名 変数名;

生成
書式
new クラス名<型>([引数リスト]);

解説
ジェネリックスとは総称型と呼ばれるもので、 型情報を可変にすることで柔軟なクラスを作成することができます。 以下の利点があります。
・型を限定できます。
・キャストが不要になります。
・型の不一致をコンパイル時に検出できます。
特にコレクションの操作で真価を発揮します。
型パラメータはクラスのみ指定でき、プリミティブは指定できません。
概要ジェネリックスありジェネリックスなし説明
宣言List list = new ArrayList();List list = new ArrayList();宣言時に型を指定します。
アクセスString str = list.get(0);String str = (String)list.get(0);ジェネリックスありではキャストが不要になります。
型パラメータ アルファベット大文字一字であることが多いです。
T(Type)やE(Element)がよく使われます。

詳細
ワイルドカードによる型指定 ? suer 型 指定したクラスのスーパークラスなら可能
? extends 型 指定したクラスのサブクラスなら可能
Cl v = ok class Cl error
トップ >  プログラミング言語 >  Java >  ジェネリックス