首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

java 器皿

2012-12-24 
java 容器java中 List类及其子类转换成数组e.g. List中盛放 SomeClass 对象两个方法1. toArray() 返回 Obj

java 容器
java中 List类及其子类转换成数组

e.g. List中盛放 SomeClass 对象
两个方法
1. toArray() 返回 Object[],无法强制转换成 SomeClass[],Object[]和SomeClass[]均是Object子类,想要转换,就必须对SomeClass[]中每个元素依次转换
     Object[] o= new Object[2];
    o[0]= "1 ";
    o[1]= "2 ";
    String[] ss = new String[2];
    ss[0] = (String)o[0];
    ss[1] = (String)o[1];

2. SomeClass[] sc = null;
   sc = List.toArray(new SomeClass[List.size()]);
   含义,先创建一个大小为List容量的SomeClass[],通过toArray(),将里面的对象全部复制到SomeClass[]中,然后用sc指向这个新创建的SomeClass[]
    根据java源码
    public Object[] toArray(Object a[]){
                if(a.length   <   size)
                   a = (Object[])java.lang.reflect.Array.newInstance(
                        a.getClass().getComponentType(), size);
                System.arraycopy(elementData,0,a, 0, size);
                if(a.length > size)
                   a[size] = null;
                return a;
    }

    如果看api仍然看不懂,建议看源码,自己学习分析,不要动不动就要google,先自己分析,再来求教他人。

热点排行