public String[] getAllKeys(){
Object[] keysCopy = new Object[keys.size()];
keysCopy = keys.toArray();
return ((String[])keysCopy());
}
爲什麼這給了我Ljava.lang.Object;不能轉換爲[Ljava.lang.String ??不能返回一個對象[]鑄造爲字符串[]
public String[] getAllKeys(){
Object[] keysCopy = new Object[keys.size()];
keysCopy = keys.toArray();
return ((String[])keysCopy());
}
爲什麼這給了我Ljava.lang.Object;不能轉換爲[Ljava.lang.String ??不能返回一個對象[]鑄造爲字符串[]
`return Arrays.copyOf(keysCopy, keysCopy.length, String[].class);`
的Object[]
不是String[]
。
試試這個,它的工作原理。
public String[] getAllKeys(){
Object[] keysCopy = new Object[keys.size()];
keysCopy = keys.toArray(new String[0]);
return (String[]) keysCopy;
}
欲瞭解更多,你可以閱讀這篇[文章](How to convert object array to string array in Java)
使用重載的方法'指定者(T [] ARR)' –
的可能重複【JAVA:(字符串\ [\])名單.toArray()給出ClassCastException](http://stackoverflow.com/questions/5690351/java-stringlist-toarray-gives-classcastexception) –