Java 对象[]的ClassCastException字符串
我正在使用以下代码:Java 对象[]的ClassCastException字符串,java,classcastexception,Java,Classcastexception,我正在使用以下代码: { // ... String[] roles = new String[resultList.size()]; int i=0; for (Iterator<Object[]> iter = resultList.iterator(); iter.hasNext();) { roles[i] = new String(); Object[] objArr = iter.next();
{
// ...
String[] roles = new String[resultList.size()];
int i=0;
for (Iterator<Object[]> iter = resultList.iterator(); iter.hasNext();) {
roles[i] = new String();
Object[] objArr = iter.next();
roles[i] = objArr[0].toString();
i++;
}
return roles;
}
{
// ...
String[]角色=新字符串[resultList.size()];
int i=0;
for(迭代器iter=resultList.Iterator();iter.hasNext();){
角色[i]=新字符串();
Object[]objArr=iter.next();
角色[i]=objArr[0]。toString();
i++;
}
返回角色;
}
但是,我得到了一个
ClassCastException
语句,表示无法从java.lang.String强制转换到对象[]。尝试将对象
列表转换为字符串
数组:
// Create an object list and add some strings to it
List<Object> objectList = new ArrayList<>();
objectList.add("A");
objectList.add("B");
objectList.add("C");
// Create an String array with the same size of the object list
String[] stringArray = new String[objectList.size()];
// Iterate over the object list to fill the string array, invoking toString() in each object to get a textual representation from it
for (int i = 0; i < objectList.size(); i++) {
Object object = objectList.get(i);
stringArray[i] = object.toString();
}
// Iterate over the string array to print the strigs
for (String string : stringArray) {
System.out.println(string);
}
//创建一个对象列表并向其中添加一些字符串
List objectList=new ArrayList();
对象列表。添加(“A”);
对象列表。添加(“B”);
对象列表。添加(“C”);
//创建与对象列表大小相同的字符串数组
String[]stringArray=新字符串[objectList.size()];
//迭代对象列表以填充字符串数组,在每个对象中调用toString()以从中获取文本表示
对于(int i=0;i
你能做到这一点吗:
Object[] objArr = iter.next();
为此:
String[] objArr = (String[]) iter.next();
试试这个:
{
// ...
String[] roles = new String[resultList.size()];
int i=0;
for (Iterator<String> iter = resultList.iterator(); iter.hasNext();) {
roles[i] = iter.next();
i++;
}
return roles;
}
{
// ...
String[]角色=新字符串[resultList.size()];
int i=0;
对于(迭代器iter=resultList.Iterator();iter.hasNext();){
roles[i]=iter.next();
i++;
}
返回角色;
}
能否提供stacktraceString是一个对象,但所有对象都不是字符串。您不能将对象转换为字符串。哪一行会转换ClassCastException?它是否真的说“不能从java.lang.String转换为对象”(这应该不是问题),或者“不能从java.lang.String转换为对象[]”?java.lang.ClassCastException:java.lang.String不能转换为[Ljava.lang.Object;代码中的第5行抛出Exception它是一个字符串列表
,他试图(隐式)将元素强制转换为对象[]
。