Language 初級

生のコレクションからジェネリック型へ

生のコレクション型と取得時のキャストを、コンパイル時のジェネリック型安全性に置き換えます。

✕ Java 1.4
List names = new ArrayList();
names.add("Duke");

String name = (String) names.get(0);
✓ Java 5+
List<String> names = new ArrayList();
names.add("Duke");

String name = names.get(0);
このコードに問題がありますか? お知らせください。
🔒

コンパイル時の安全性

不正な要素型は実行時ではなくコンパイル時に検出されます。

🧹

取得時のキャストが不要

値は宣言された要素型を保持します。

📖

自己文書化されたAPI

コレクション宣言が、含まれる内容を正確に示します。

旧来のアプローチ
生のコレクション
モダンなアプローチ
ジェネリックコレクション
JDKバージョン
5
難易度
初級
生のコレクションからジェネリック型へ
利用可能

ジェネリックはJDK 5(2004年9月)以降利用可能です。

生のコレクションは任意のオブジェクト型を受け入れ、型エラーはキャストが実行されるまで先延ばしにされます。ジェネリック型引数を使うことで、 コンパイラが書き込みと読み取りを検証し、キャストが不要になり、IDEの支援が向上し、API契約が明示的になります。生の型は通常、慎重に切り離された レガシーとの相互運用境界にのみ残すべきです。