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)
Explanation:
public static int sum(List<Integer> intList) {
int sum = 0;
for (int i : intList) {
sum += i;
}
return sum;
}