A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

        @SuppressWarnings("rawtypes")
        @Test
        public void bb(){
                List list=Arrays.asList("1","2","3");
                System.out.println(list);
               
                String[] arr={"1","2","3","4"};
                list=Arrays.asList(arr);
                System.out.println(list);
               
                Integer nums[]={1,2,3,5}; //这个细节一定要小心 Integer
                list=Arrays.asList(nums);
                System.out.println(list);
        }
Integer 打印的值是[1, 2, 3, 5]
int 打印的值是[[I@6aa95b]

评分

参与人数 1技术分 +1 收起 理由
舒远 + 1 赞一个!问题很有意义!

查看全部评分

2 个回复

倒序浏览
    public static <T> List<T> asList(T... a) {
        return new ArrayList<>(a);
    }
这是asList源代码,它接受一个泛型的参数,也就是一个对象,,,基本类型数组扔进去就直接当做一个对象来用了  所以尽量用包装类放吧

评分

参与人数 1技术分 +1 收起 理由
舒远 + 1 赞一个!

查看全部评分

回复 使用道具 举报
李敬卫 来自手机 中级黑马 2013-1-17 08:36:02
藤椅
首先你要明白List集合中不能存放基本数据类型。很显然当你在Arrays.asList方法中传递一个int类型的数组,而恰恰此方法返回的又是一个List集合,所以就出现了你不想要的结果。在java中,希望解决楼住疑惑

评分

参与人数 1黑马币 +9 收起 理由
Rancho_Gump + 9 赞一个!

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马