在Java中,什么是错的这个任务:这个赋值无效:`Map <String,Object> mObj = new HashMap <String,String []>();`?
Map<String, Object> mObj = new HashMap<String, String[]>();
我得到:
error: incompatible types: HashMap<String,String[]> cannot be converted to Map<String,Object>
由于String[]
是Object
,应该工作。 如果我投下一个未参数化的Map
,像这样:Map<String, Object> mObj = (Map) new HashMap<String, String[]>();
,它正在工作,但当然,我收到一个警告,它很脏。
此外,我觉得我的第一个任务应该可以工作。
谢谢!
PS:我不能简单地将new HashMap<String, String[]>();
更改为new HashMap<String, Object>();
,因为实际上,我调用返回Map<String, String[]>();
的方法,当然,我无法更改此方法。再次感谢你。
伟大的联系,我不知道泛型是如何工作的,什么是多重界限,以及为什么你不能分型。但是你可以在链接中提到的扩展和超级使用通配符,这可能在这里工作。 – Asoub