質問: ジェネリックについて質問があります。どなたか、教えてください・・・ ■super ワイルドカードの疑問点 下記のソースにコンパイルエラーが出るのはなぜでしょうか class Animal{} class Cat extends Animal{} public class Char6_19 { public static void main(String arg[]){ List super Cat> list=new ArrayList(); list.add(new Cat()); list.add(new Cat()); for(Cat s:list){ ←コンパイルエラー System.out.println(s); } } }
回答: そもそもワイルドカードつかってるのに add してよかったんだっけ? SJC-P だとエラーになるって書いてあった気がするんだけど。 super なら Animal s : list とか試してみたら?