Which of the following methods will compile without error?
public int add(List<? extends Number> list) {
int sum = 0;
for (Integer i : list) sum += i;
return sum;
}
public int add(List<? super Integer> list) {
int sum = 0;
for (Integer i : list) sum += i;
return sum;
}
public int add(List<? extends Integer> list) {
int sum = 0;
for (Integer i : list) sum += i;
return sum;
}
public int add(List<?> list) {
int sum = 0;
for (Integer i : list) sum += i;
return sum;
}
1
Expert's answer
2016-05-24T11:50:03-0400
public int add(List<? extends Integer> list) { int sum = 0; for (Integer i : list) sum += i; return sum; } Because only in this method is a valid class cast
Comments
Leave a comment