use*_*701 1 java casting object
我需要这段代码,但是我收到了这个错误:
Ljava.lang.Object; 无法强制转换为java.lang.String
public Object[] getAllKeys (){
return keys.toArray(new Object[keys.size()]);
}
public String[] getNames (){
return ((String[])super.getAllKeys()); <- Error here. Can't cast, why?
}
Run Code Online (Sandbox Code Playgroud)
数组的类型是Object[]这样的,它不能知道它只包含Strings.很有可能将非String对象添加到该数组.结果是不允许演员表演.
您可以返回Object[]然后将该数组中的每个对象转换为字符串.ie (String)arr[0]或者您可以创建一个新String[]数组并在返回之前复制所有元素.