いらっしゃいませ。今日は皆さんわんくま勉強会でしてねぇ。当BARも閑古鳥なんですよ。 でもまぁせっかくですし前回の クイズの続きと行きましょう。Javaのジェネリクスの自信のほどはいかがですか? 前回は List<String> listA = new ArrayList<String>(); List<? extends Object> listB = listA; listB.add(new Object()); というコードでlistB = listAの代入はできるものの、listB.add()でコンパイルエラーとなるということでした。 では、次のコードをコンパイルおよび実行しようとするとどうなるでしょう? List<Object> listA = new ArrayList<Object>(); List<? super String> listB = listA; listB.a