Class A{
public int i;
}Class B extends A{B b = new B();
List list = new ArrayList();
list.add(b);
for(int i = 0;i<list.size();i++){
B temp = (B)list.get(i);
System.out.println(temp.i);
}
}如果要获得一个被放入集合中的引用类型对象里的字段,除了用强制类型转换外,还有没有更加软式的方法获取List中已经变成Object类型元素它对应的原来类型的对象?

解决方案 »

  1.   

    使用泛型
    Class A{
        public int i;
    }Class B extends A{    public static void main(String[] args) {
            B b = new B();
            List<B> list = new ArrayList<B>();
            list.add(b);        for(int i = 0;i<list.size();i++){
                B temp = list.get(i);
                System.out.println(temp.i);
            }
        }
    }