读书人

Arrays.asList(T. a)使用有关问题

发布时间: 2012-08-25 10:06:20 作者: rapoo

Arrays.asList(T... a)使用问题
以下代码:

public static void main(String[] args) {    //经多次测试,只要传递的基本类型的数组,生成List的元素个数均为1      char[] arrc = {'a','b'};      int[]  arrint = {1,2,4};    print(Arrays.asList(arrc).size()) ;//  结果为1;      print(Arrays.asList(arrint ).size()) ;//结果为1;             //传递对象数组,元素个数正确。      String[] arrstr = {"a","b","java","spring","hadoop","lucene"};      print( Arrays.asList(arrstr ).size() );//结果为6;  }


为什么有如此问题:该方法的arraylist不是我们常用到的arraylist,是一个内部类
    public static <T> List<T> asList(T... a) {return new ArrayList<T>(a);    }

如下:
private final E[] a;ArrayList(E[] array) {            if (array==null)                throw new NullPointerException();    a = array;}

基本类型不能充当泛型,传入时候,自动当成了数组类型

读书人网 >编程

热点推荐