我想有一個Set < Map <Character, Integer> >
實例。但是我不能用new HashSet < HashMap<Character, Integer> >
實例化它。如何在java中正確地實例化一組映射?
我必須要麼將其更改爲
Set<HashMap<Character, Integer>> v = new HashSet<HashMap<Character, Integer>>();
或
Set<Map<Character, Integer>> v = new HashSet<Map<Character, Integer>>(); // I prefer this one
誰能告訴我,爲什麼Java的不能轉換HashSet<HashMap<Character, Integer>>
到Set<Map<Character, Integer>>
?
下面的答案是正確的,但它不是在您的情況確實有關 - 你爲什麼要希望把實際的實現類的您想在泛型簽名中使用的Map?由於Java 7有可能寫也迴避這個問題更短的方式你的任務:'設置<地圖<字符,整數>> V =新的HashSet <>();' –