java - 无法返回转换为 String[] 的 Object[]

标签 java arrays object java.lang.class

public String[] getAllKeys (){

    Object[] keysCopy = new Object[keys.size()];
    keysCopy = keys.toArray();

    return ((String[])keysCopy());
}

为什么这给了我 Ljava.lang.Object;无法转换为 [Ljava.lang.String??

最佳答案

这是因为您有对象数组,并且Object[]无法转换为String[]。相反的情况也是可能的。这是因为 Object IS NOT A 字符串字符串IS A 对象

如果您确定keys的内容是String集合>,那么你可以使用keys.toArray(new String[keys.size()]);

public String[] getAllKeys(){
    return keys.toArray(new String[keys.size()]);
}

关于java - 无法返回转换为 String[] 的 Object[],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23264857/

相关文章:

java - 继承了2级的字段可以直接修改吗?

java - Places.GeoDataApi.getAutocompletePredictions

c++ - char指针和char数组的区别

javascript - 从javascript中的字符串中删除 '<and text within those>'

arrays - Swift:如何检查对象是否在数组中?

java - 双端队列最后一个元素插入。

java - 如何为依赖于同一个 jar 的两个独立项目设置 Maven

java - 将二维数组位置存储在ArrayList中

java - 如何将用户输入与类中所有对象的实例变量进行比较

php - 只有响应的第一个元素可见 - php