コレクションの記述
/* 従来型 */
List list1 = new ArrayList();
/* ジェネリクス */
List
List
list1.add("Conventional");
list2.add("Generics");
list3.add(new Integer(7));
String conventional = (String) list1.get(0);
String generics = list2.get(0);
/* java.lang.ClassCastException 発生 */
Integer i = (Integer)list1.get(0);
/* コンパイルエラー */
Integer i2 = (Integer)list2.get(0);
ClassCastException
継承関係のない型にキャストすると実行時エラーとなる。
ジェネリクスの使用によってこのようなキャストミスはコンパイル時に発見できる。
0 件のコメント:
コメントを投稿