从数据库里取出几条记录结果为List类型,
List list =  ;
for(int i=0; i<list.length; i++) {
   D301 d301 = list.get(i);
}
list 里存的是D301类型的
类型转换失败
改用Map map = list.get(i);
就可以了 
如果不用Map有别的方法可以用吗
如果要用泛型 该怎么用

解决方案 »

  1.   

    List list =  ;
    for(int i=0; i <list.length; i++) {
      D301 d301 = (D301)list.get(i);
    } 泛型:List<D301> list = xxx;
      

  2.   

    只要list是D301的强制转换就行了
    D301 d301 = (D301)list.get(i);
      

  3.   

    顶,其实只要在list.get(i)前面加上(D301)强制转换就可以了。MAP和LIST并不是任何情况下都象你那样转化都能成功的。估计你这个LIST里面的参数只有一个吧
      

  4.   

    Map map = (Map)list.get(i); 
    就可以了 说明list里装的是Map,而不是D301.
      

  5.   

    package com.question;import java.util.ArrayList;
    import java.util.List;public class Q4 {
        public void test() {
            List<Company> list = new ArrayList<Company>();
            for(int i = 0; i < list.size(); i++) {
                Company company = list.get(i);
                System.out.println(company);
            }
        }
        
        class Company {
            public String toString() {
                return "company";
            }
        }
    }