ArrayList al=(ArrayList)result;
这句不晓得有什么用。
Object s1=it.next();
s=(ArrayList)s1;
s1好像是一条记录吧
在强制转换成ArrayList?
楼主想干什么啊?不懂的说。

解决方案 »

  1.   

    为什么还用ArrayList呢?既然已经用了List,就可以用
    List list = new List();
    Iterator it=result.iterator();
    for(int i=1;it.hasNext();i++){
    Object s1=it.next();
    list.add(s1);         
    }
    就可以了吧
      

  2.   

    ArrayList al=(ArrayList)result;
    上面强制将List结果转换为ArrayList了Object s1=it.next();
    这样s1就是List结果中的一条记录而已,并不是ArrayList类型的,所以下面的强制转换是错误的。除非记录是ArrayList的。
    s=(ArrayList)s1;
      

  3.   

    使用Object s1=it.next();在实际的s1中存在的是一个数组形式,每个it.next()都是从数据库中取得一条记录,包括好几个字段的值。我先把它们存成集合方式:
    如:s1=['0001','0002','0003']
    怎么存到一个数组里String[],??
      

  4.   

    我是想在页面中通过jstl显示查询的值!!
    刚开始我使用List result=operLevelRightDao.findByProperty("id.operLevelCode", userCode);查询出的记录在页面中是可以显示的(<c:out value="${item.code}"/>);但是我使用自己定义的sql:String strSql="select t.id.Code,t.Name from OperLevelRight t";List result=operLevelRightDao.findByQuery(strSql);(我自己定义的查询函数)查询到记录后就不能显示了,提示错误;我看到通过自己定义的sql查询的纪录的类型为object,可能是这个原因。应该怎样解决????????????