私はジェネリックスを読んでコンセプトに慣れ親しんでいました。特に、ワイルドカードを使用することはほとんどありませんでした。私が読んだことから、ワイルドカードを使う理由を理解できません。私が続けている例の1つは次のとおりです。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);
}
}
OracleのWebサイトから別の例:これはなぜ
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私は同意しません。 –