그래서 개념을 다시 익히기 위해 제네릭을 읽었습니다. 특히 와일드 카드를 사용하는 곳이 거의 없었기 때문에 개념을 다시 익히거나 익숙하지 않았습니다. 내가했던 일에서 왜 그들이 와일드 카드를 사용하는지 이해할 수 없다. 제가 계속해서 제시하는 예 중 하나는 다음과 같습니다.Java 제네릭 : 와일드 카드
void printCollection(Collection<?> c) {
for (Object o : c){
System.out.println(o);
}
}
왜 쓸 것이 아니라 :
<T> void printCollection(Collection<T> c) {
for(T o : c) {
System.out.println(o);
}
}
오라클 웹 사이트에서 또 다른 예 : 왜이
public static <T extends Number> double sumOfList(List<T> list) {
double s = 0.0;
for (Number n : list)
s += n.doubleValue();
return s;
}
암으로 기록되지 않습니다
public static double sumOfList(List<? extends Number> list) {
double s = 0.0;
for (Number n : list)
s += n.doubleValue();
return s;
}
나는 무엇인가 놓친다?
가능 [복제] (http://stackoverflow.com/questions/10943137/difference-between-generic-type-and-wildcard-type) – Jayamohan
@Jayamohan 나는 동의하지 않습니다. –