Javaジェネリックを読んでいて、興味深いクエリに出くわしました。私の質問は次のとおりです。
上限のあるワイルドカードの場合
public static void printList(List<? extends Number> list) { for (int i = 0; i < 10; i++) { list.add(i);// gives compilation error } }
下限ワイルドカードの場合
public static void printList(List<? super Integer> list) { for (int i = 0; i < 10; i++) { list.add(i);// successfully compiles } }
Sun Oracleのドキュメントを見ると、ポイント1でもコードをコンパイルする必要があることがわかっているため、これと混同しています
誰でもこれを理解するのを手伝ってもらえますか?