你的分享就是我们的动力 ---﹥

ocjp题库求解解决方法

ocjp题库求解
[size=13px]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)".
Answer: A,C,F
Explanation:
求详细的解答,谢谢!

------解决思路----------------------
这是个和泛型相关的题目,要求把代码改为没有警告的泛型模式。List和Iterator类都是泛型类,List的成员都是对象,int是基本类型,E选项不对,选F。用for each代替迭代器,封装了一些功能,会遍历这个集合,进行累加,选C。14行没用了,去掉,选A