@634

Generics(総称)

Advertisement

Genericsとは

Genericsとは、コレクションフレームワークに格納する型を明示的に指定することで、コンパイラがその制約を利用できるようにする仕組みのこと。

格納される型の安全性を保証すると共に、取り出し時のキャスト作業も不要になる。

宣言時

書式
<型>

List<String> list = new ArrayList<String>();
list.add("文字列");
上記の指定により、ArrayListにはjava.lang.String型のオブジェクトのみ格納できるようになる。String以外のオブジェクトを格納した場合、コンパイル時にエラーとなるため、安全性を保証できるようになる。

キャストの省略

従来、コレクションフレームワークを利用するときは、要素の取得時に明示的なキャストを行う必要があった。これはコレクションフレームワークがすべての要素をjava.lang.Object型として扱っていたためである。
この場合、要素にキャストと異なる型のオブジェクトが格納されていても、実行時にならないとわからないため、安全性が保証されていなかった。

List list = new ArrayList();
list.add("値");

String param = (String)list.get(0);

Genericsの導入により、コンパイラによって安全性が保証され、このキャスト作業が不要になる。

List<String> list = new ArrayList<>();
list.add("値");

String param = list.get(0);

Advertisement

ショートカット

634
634ブログ
このカテゴリのトップページに戻る
Incubator(Pukiwiki)
634ラボ
   UIコレクションギャラリー
   ZO-3ジェネレーター

サイト検索


Y!ログール