我有两个地图Something1
和Something2
。两者都扩展类Something
。与泛型和变量赋值问题
Map<Class<? extends Something1>, String> m1
Map<Class<? extends Something2> ,String> m2
我想创建一个更通用的地图m3
,而我可以分配m1
或m2
这样的:
Map<Class<? extends Something>, String> m3 = m1;
但是我得到以下异常:
Type mismatch: cannot convert from Map<Class<? extends Something1>, String> to Map<Class<? extends Something>, String>
我也尝试使用Class<?>
,但似乎没有工作。
我在做什么错?
阅读本回答 - http://stackoverflow.com/a/19220458/1679863,了解多层次泛型如何工作。之后,您将能够理解将第三张地图更改为:Map <?扩展Class <?扩展Something>,String> = m1;'会工作。 –
非常感谢!这解决了我的问题 – user1534960