我得到了一个list的结果集,但是我要把这个结果集里的东西拿出来放到一个二维数组里面去.请高手帮我指点下.谢谢
List list=session.createQuery(" select u.name,b.name from User,Book").list();
要怎么样才能循环得到这个结果集里的每一个值,
Object[] obj=list.toArray();
for(int i=0;i<obj.length;i++){
    if(obj[i] instanceof User){//在这里判断的结果都是false
       User u=(User)obj[i];
       System.out.println(u.getName());//我这样子写的话,它根本就没有进到这里面来.
    }
    if(obj[i] instanceof Book){
       Book b=(Book)obj[i];
    }
}
我在网上找了很久也没有找到相关的资料.请教各位.

解决方案 »

  1.   

    此回复为自动发出,仅用于显示而已,并无任何其他特殊作用
    楼主【wuhaibo1】截止到2008-08-01 16:00:52的历史汇总数据(不包括此帖):
    发帖的总数量:0                        发帖的总分数:0                        每贴平均分数:0                        
    回帖的总数量:0                        得分贴总数量:0                        回帖的得分率:0%                       
    结贴的总数量:0                        结贴的总分数:0                        
    无满意结贴数:0                        无满意结贴分:0                        
    未结的帖子数:0                        未结的总分数:0                        
    结贴的百分比:---------------------结分的百分比:---------------------
    无满意结贴率:---------------------无满意结分率:---------------------
    如何结贴请参考这里:http://topic.csdn.net/u/20080501/09/ef7ba1b3-6466-49f6-9d92-36fe6d471dd1.html

    取消马甲机器人,请点这里:http://www.java2000.net/mycsdn/robotStop.jsp?usern=wuhaibo1
      

  2.   

     if(obj[i].getClass==User.class){//在这里判断的结果都是false 
          User u=(User)obj[i]; 
          System.out.println(u.getName());//我这样子写的话,它根本就没有进到这里面来. 
        } 
      

  3.   

     if(obj[i].getClass==User.class){
          User u=(User)obj[i]; 
          System.out.println(u.getName());
        } 这样改下试试
      

  4.   


    String u = null;
    Sreing b = null;
    List list=session.createQuery(" select u.name,b.name from User,Book").list(); 
    for(int i = 0; i < list.lenth(); i++) {
       if (i == 0) {
          User u=(User) list.get(i); 
       } else if (i == 1) {
          Book b=(Book) list.get(i); 
       }
    }
    String[] str = {u, b};
      

  5.   

    List list=session.createQuery(" select u.name as uName,b.name as bName from User,Book").list(); 
    UserBook contain : uName & bName
    for(Object o : list0{
     UserBook ub=(UserBook )o;
     System.out.println(ub.getName());
    }
    不知道行不行,可以一试,我没试
      

  6.   

    楼主用的hibernate吧,这里涉及的是 “属性查询”,返回的结果是一个Object[] 的List ,相当于2维数组,可以自己找资料看看。List<Object[]> list=session.createQuery(" select u.name,b.name from User u,Book b").list(); 
    for(Object[] result : list){
        System.out.println(result[0]); //打印出 u.name
        System.out.println(result[1]); //打印出 b.name
    }
      

  7.   

    hibernate这个行,我也是这样做的。
      

  8.   


    因为你没强制转换类型前,里面存放的都是Object的实例,
    所以用instanceof得到的结果都是false。
    根据你的查询语句,得到的list中下标为偶数的都是u.name,奇数的都是b.name,
    你根据这个规律把list迭代分离一下就行了撒。