1.5以降
interface EmpService {
List<Emp> getEmps(int deptNo);
}
List<Emp> emps = empService.getEmps(10);
for(int i = 0; i < emps.size(); i++) {
Emp emp = emps.get(i); // キャストの必要なし・コード量減る
// 処理
}
for(Emp emp : emps) { // 拡張forループ使えばもっとコード量減る
// 処理
}
1.4以前
interface EmpService {
List getEmps(int deptNo);
}
List emps = empService.getEmps(10);
for(int i = 0; i < emps.size(); i++) {
Emp emp = (Emp) emps.get(i); // キャストが必要・ClassCastExceptionになるかどうかは実行時までわからない
// 処理
}
Object obj = emps.get(i);
if(obj instanceof Emp) { // なのでこんな感じでチェックする必要があり・ロジック増える
Emp emp = (Emp) obj;
// 処理
}
see also:
Javaプログラマであるかを見分ける10の質問 3.List<Integer>のようにジェネリクス型を使う主たる目的は何か
0 件のコメント:
コメントを投稿