从数据库提取数据后,一般做法都是放到list中,其中泛用型是object,
要他转换为其他泛用型时,可以for(Object[] ** : list)或取出元素循环
我现在想问为什么object 不知道直接转换啊
比如
list<**> resList = super.execute(sql)
请各位指教 

解决方案 »

  1.   

    到这里去找
    最好的技术资料 http://www.webjar.cn/infor.htm
      

  2.   

    list 声明object泛型有必要嘛?
    默认不就是object
      

  3.   

    向下转型时,是需要强制转换的。比如:class A { }
    class B extends A { 
        public static void main(String[] args){
            A a = new B();   //正确。把一个B的对象赋给一个A的引用,属于向上转型,不需要强制转换就可以执行        B b = a;        //错误。向下转型时,必须强制转换。改成 B b = (B)a ; 就可以正常编译了
            
        }}
      

  4.   

    我的意思是object是所有对象的父类为什么不可以转换成它的子类
    没说要声明object泛型
      

  5.   

    你也可以直接用list<A> reslist=super.execute(sql);进行泛型定义呀~Object是所有类的超类~当你用list<?> reslist=super.execute(sql);用?定义的时候是表示什么类都可以~
    直接用for(**[] aa:list)也能定义的~
      

  6.   

    list <A> reslist=super.execute(sql);
    这样做是可以的,编译不会报错,可是当你用它的时候,去里面的对象的时候就会报错java.lang.ClassCastException: [Ljava.lang.Object; 
      

  7.   


    Object是所有对象的父类,only说明说有对象都能够隐式的转换成Object类型
      

  8.   

    Object是所有对象的父类,only说明说有对象都能够隐式的转换成Object类型,反之则不尽然,快吃饭了,反正也不想做其他事了,就写几个例子吧
    class A { }
    class B extends A {
        public static void main(String[] args){
            A a = new B();  //正确。把一个B的对象赋给一个A的引用,属于向上转型,不需要强制转换就可以执行        B b = a;        //错误。向下转型时,必须强制转换。改成 B b = (B)a ; 就可以正常编译了        Object o = new B(); //正确 B是Object的子类,可以隐式转换        B b1 = o;    //错误,Object类型的数据转换成B类型的数据,属于将父类转换成子类的类型,必须加强制转换        B b2 = (B)o;  //正确        //将一个父类转换成子类的时候,并不是什么时候都可以的
            Object o3 = new Object();
            B b3 = (B)o3;   //编译正常,但运行时将抛出ClassCastException的异常。        //差不多就这样了,仔细比较下吧...尤其是红色的两条语句
            
           
        }}
      

  9.   

    另外我当初也想用
    select new A (字段,............) 直接转换
    解决问什么我这样写报错啊
    网上有人用这样的hql解决过类型问题
    有什么要注意的点吗
      

  10.   

        这位老哥的想法挺别致呀!我个人觉得你想的有点太多,如果从学习的角度来看你有这样的想法不错,但是我们学的东西一定要在实际中经常用才去学(以上是个人观点),发表一下我个人看法。
        
        首先你要知道类型转换分两种形式,自动转换 和 强制转换    自动转换: 它的出发条件有两个。1.这2种类型是兼容的,2.目的类型数的范围比来源类型的大 就像int 转换成long    强制转换: 两种不兼容的类型进行转换,简单的说它会将转换类型的一些内容进行筛检,然后转换成目标类型。    大体就是这个意思了!我知道的就这些了!希望对你有帮助。
        
      

  11.   


    就像人可以直接当动物看待,因为人属于动物.但动物不能直接当人看,它是不是人需要鉴定一下才行,这个鉴定的过程就是强制转换在程序中,它不可能把list<object>里全当成你现在想要的类型,因为你可能大意在里面存储了不同类型的数据,它要直接当成某种类型势必会出错,