Yod*_*oda 5 java arrays collections map toarray
我有一张地图
private HashMap<Character, Integer> map;
我想将它转换为数组但是当我这样做/我得到这个:
Entry<Character, Integer> t = map.entrySet().toArray();
**Type mismatch: cannot convert from Object[] to Map.Entry<Character,Integer>**
Run Code Online (Sandbox Code Playgroud)
Entry<Character, Integer>[] t = null;
map.entrySet().toArray(t);
**Exception in thread "main" java.lang.NullPointerException**
Run Code Online (Sandbox Code Playgroud)
Entry<Character, Integer>[] t = new Entry<Character, Integer>[1];
map.entrySet().toArray(t);
**Cannot create a generic array of Map.Entry<Character,Integer>**
Run Code Online (Sandbox Code Playgroud)
Entry<Character, Integer>[] t = null;
t = map.entrySet().toArray(t);
**Exception in thread "main" java.lang.NullPointerException**
Run Code Online (Sandbox Code Playgroud)
那么如何转换HashMap为Array?在其他科目中找不到任何答案.
Ste*_*n C 11
我认为这会奏效:
Entry<Character, Integer>[] t = (Entry<Character, Integer>[])
(map.entrySet().toArray(new Map.Entry[map.size()]));
Run Code Online (Sandbox Code Playgroud)
...但是你需要一个@SuppressWarning注释来抑制关于不安全的类型转换的警告.