迭代 For 循环时 java.lang.String 无法转换为 [Ljava.lang.Object
java.lang.String cannot be cast to [Ljava.lang.Object while Iterating For Loop
我在迭代 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]));
}
}
下面是我在 objList
中得到的输出
[Potter, GOT]
进入循环时出现异常
java.lang.String cannot be cast to [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]));
}
}
哪位大神能指点一下哪里错了
感谢@Eran 的提示。
我通过执行以下操作解决了它。正如@Eran 所说,它正在返回 List<String>
List<String> objList = myManager.getList(bookId, bookName);
for(String t : objList)
{
if(!StringUtil.isBlank((String)t))
{
bookList.add(new book((String) t,(String) t));
}
}
我在迭代 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]));
}
}
下面是我在 objList
[Potter, GOT]
进入循环时出现异常
java.lang.String cannot be cast to [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]));
}
}
哪位大神能指点一下哪里错了
感谢@Eran 的提示。
我通过执行以下操作解决了它。正如@Eran 所说,它正在返回 List<String>
List<String> objList = myManager.getList(bookId, bookName);
for(String t : objList)
{
if(!StringUtil.isBlank((String)t))
{
bookList.add(new book((String) t,(String) t));
}
}