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

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

2012-08-25 
Arrays.asList(T... a)使用问题以下代码:public static void main(String[] args) {//经多次测试,只要传递

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;}

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

热点排行