public String[] getAllKeys (){
Object[] keysCopy = new Object[keys.size()];
keysCopy = keys.toArray();
return ((String[])keysCopy());
}
为什么这会给我Ljava.lang.Object;无法转换为[Ljava.lang.String ??
答案 0 :(得分:2)
这是因为你有对象数组而且Object[]
无法转换为String[]
。反过来是可能的。这是因为Object
IS NOT A String
和String
IS A Object
。
如果 确定 keys
的内容是String
的集合,那么您可以使用keys.toArray(new String[keys.size()]);
public String[] getAllKeys(){
return keys.toArray(new String[keys.size()]);
}
答案 1 :(得分:0)
`return Arrays.copyOf(keysCopy, keysCopy.length, String[].class);`
答案 2 :(得分:0)
Object[]
不是String[]
。
答案 3 :(得分:0)
试试这个,它有效。
public String[] getAllKeys (){
Object[] keysCopy = new Object[keys.size()];
keysCopy = keys.toArray(new String[0]);
return (String[]) keysCopy;
}
有关详情,请阅读[post](How to convert object array to string array in Java)