私を混乱させるコード:
Collection<? extends Map<String, String>> a =
new ArrayList<SortedMap<String, String>>();
SortedMap<String, String> b = new TreeMap<String, String>();
b.put("1","a");
エラー:
a.add(b);
Collection> 型のメソッド add(capture#2-of ? extends Map) が引数 (SortedMap) に適用されないのはなぜですか? SortedMap は Map を拡張し、TreeMap は SortedMap を実装するクラスです。