0
Javaのジェネリックスがどのように機能するのか分かりません。私は以下のコードに簡略化され似たような状況があります。Javaジェネリックパラメータの親クラスを使用
public static void main(String[] args) {
Map<String, Collection<B>> map1 = test();
Map<String, List<B>> map2 = test();
Map<String, ArrayList<B>> map3 = test();
}
private static Map<String, ArrayList<B>> test() {
return null;
}
私は互換性のないタイプを言うエラーが出るMAP1またはMAP2を作成する - それはArrayListのを期待していたが、代わりにコレクション/リストを得ました。
このような問題を解決するにはどうすればよいですか?ここで
この問題に関する以前の質問が表示されることがあります。[なぜできないのですか]リスト mylist = ArrayList ();](https://stackoverflow.com/questions/5763750/why-we-cant- do-listparent-mylist-arraylistchild)である。 [スーパータイプのリストをサブタイプのリストにどのようにキャストしますか?](https://stackoverflow.com/questions/933447/how-do-you-cast-a-list-of-supertypes-to-a-listサブタイプの) –