迭代For循环时,无法将java.lang.String转换为[Ljava.lang.Object]
在迭代for循环时,我得到了一个迭代For循环时,无法将java.lang.String转换为[Ljava.lang.Object],java,for-loop,classcastexception,Java,For Loop,Classcastexception,在迭代for循环时,我得到了一个classcast异常 这是我的代码: List<Object[]> objList = myDao.getList(bookId, bookName); for(Object[] t : objList ) { if(!myClass.isBlank((String)t[1])) { bookList.add(new book((String) t[0],(String) t[0])); } }
classcast
异常
这是我的代码:
List<Object[]> objList = myDao.getList(bookId, bookName);
for(Object[] t : objList )
{
if(!myClass.isBlank((String)t[1]))
{
bookList.add(new book((String) t[0],(String) t[0]));
}
}
输入for循环时发生异常
无法将java.lang.String转换为[Ljava.lang.Object]
我再次尝试改变我的for循环,如下所示,但仍然不起作用
List<Object[]> objList = myManager.getList(bookId, bookName);
String[] bookObj = new String[objList.size()];
for (int i = 0; i < objList.size(); i++) {
if(!myClass.isBlank((String)bookObj[i])){
bookList.add(new SelectItem((String) bookObj[i],(String) bookObj[i]));
}
}
List objList=myManager.getList(bookId,bookName);
String[]bookObj=新字符串[objList.size()];
对于(int i=0;i
谁能告诉我出了什么问题。我感谢@Eran的提示 我通过下面的操作解决了这个问题。正如@Eran所说,它正在返回
List
[Potter, GOT]
List objList=myManager.getList(bookId,bookName);
for(字符串t:objList)
{
如果(!StringUtil.isBlank((String)t))
{
bookList.add(新书((String)t,(String)t));
}
}
我感谢@Eran的提示
我通过下面的操作解决了这个问题。正如@Eran所说,它正在返回List
[Potter, GOT]
List objList=myManager.getList(bookId,bookName);
for(字符串t:objList)
{
如果(!StringUtil.isBlank((String)t))
{
bookList.add(新书((String)t,(String)t));
}
}
它看起来像myDao.getList()
返回一个List
而不是List
。Jon Skeet编辑了你的文章,你真是个幸运的家伙。正如Eran提到的,dao方法getList()的返回类型可能是字符串。它看起来像myDao.getList()
返回一个列表
而不是列表
。你真是个幸运的家伙,Jon Skeet编辑了你的帖子。!!:正如Eran提到的,返回dao方法的类型getList()可能是字符串。它是如何编译的?它是否返回原始类型?糟糕。@ajb:它返回了原始类型。我如上所述更正了它。它是如何编译的?它是否返回原始类型?糟糕。@ajb:它返回了原始类型。我如上所述更正了它。