我有兩個地圖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