我有一个关于泛型的问题:
Map<? super String, ? super String> mappa1 = new HashMap<Object,Object>();
使用 super 可以为 a 实例化HashMap<Object,Object>
a <? super String>
。但是,您只能添加扩展 String 的对象(在这种情况下只有 String 本身)。他们为什么不通过编译错误以及extends
通配符来禁止。我的意思是,如果一旦创建了 a Map <Object, Object>
,就只能添加字符串。为什么不Map<String, String>
首先强制创建 a 呢?(就像extends
通配符发生的那样)
我再次知道泛型之间的区别super
和extends
关于泛型的区别。我只想知道我上面提到的细节。
提前致谢。