SCJP 1.6版考題 188

出自 陳富國維基館
前往: 導覽搜尋
Given a pre-generics implementation of a method:
11. public static int sum(List list){
12.   int sum = 0;
13.   for(Iterator iter = list.iterator(); iter.hasNext();){
14.     int i = ((Integer)iter.next()).intValue();
15.   sum += i;
16.   }
17.   return sum;
18. }

What three changes allow the class to be used with generics and avoid an unchecked warning? (Choose three.)
 A. Remove line 14.
 B. Replace line 14 with "int i = iter.next();".
 C. Replace line 13 with "for(int i : intList){".
 D. Replace line 13 with "for(Iterator iter : intList){".
 E. Replace the method declaration with "sum(List<int> intList)".
 F. Replace the method declaration with "sum(List<Integer> intList)".

解答


Ans: A C F

解說: 那三項改變可以使用這個類別以泛型的方式來使用,並且可以避免unchecked 的警告?