スマートフォン用の表示で見る

Generics

コンピュータ

Generics

じぇねりっくす

総称型。

JavaC++Templateにおいて、コレクションフレームワークで良く使われる、あるオブジェクトに入れ子(集約(Aggregation, Composition)など)になっている別のオブジェクトの型を限定することで、余計なバグを減らすもの。

これにより、そのオブジェクトに入れ子になっているオブジェクトを取り出すたびにそのオブジェクトの型が何型であるかを調べる必要がなくなる。

Javaの例

List<String> list = new ArrayList<String>();
list.add("リストに文字列追加");
//list.add(1); //数字を追加。String型ではないためエラーとなる。

for (String element : list) {
//listの中に入っているものはすべてStringとわかっているので、明示的にダウンキャストする必要はない。
    System.out.println(element);
}

ここでListやArrayListのようなインタフェースやクラスのことを「パラメタライズドクラス(インタフェース)」「ジェネリッククラス(インタフェース)」という。

参考 : Java Generics