Generics

Generics

(コンピュータ)
じぇねりっくす

総称型。

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

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

Javaの例

List<String> list = new ArrayList<String>();
// Map<CharSequence> map = new HashMap<>(); // Java7以降では右辺の型引数を省略出来る
list.add("リストに文字列追加");
//list.add(1); //数字を追加。String型ではないためエラーとなる。

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

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

ネットの話題: Generics

人気

新着

新着ブログ: Generics