0
このコードはコンパイルできなかった理由私は思ったんだけど:私たちはそれですべてを保存することができますのでなぜオブジェクトのリストを取得できないのですか?
private static List<? super String> x() {
return null;
}
List<Object> l = x();
リストタイプのオブジェクトです。誰が説明できますか?
このコードはコンパイルできなかった理由私は思ったんだけど:私たちはそれですべてを保存することができますのでなぜオブジェクトのリストを取得できないのですか?
private static List<? super String> x() {
return null;
}
List<Object> l = x();
リストタイプのオブジェクトです。誰が説明できますか?
List<Object> != List<? super String>
すべてを保存することができます。
l.add("a");
l.add(1);
l.add(new Object());
しかし、彼らは同じものではありませんので、あなたはList<Object>
にList<? super String>
を割り当てることはできません。
BigDecimal
をList<Object>
に追加できますが、List<? super String>
にはBigDecimal
を追加できません。
PECS(プロデューサーエクステンションとコンシューマースーパー)についての情報 – Andrew
'List <?スーパーストリング>は 'List'にすることができますが、 'List