list和数组之间的转换

public class Test
{
    public static void main(String[] args)
    {
        String[] strs = new String[] {"aaaaaaa", "b", "c", "d"};
        List<String> list=new ArrayList<String>();
        for(String str:strs){
            list.add(str);
            
        }
        list.add("e");
        //String[] strArray = new String[list.size()];
        //list转换为数组
        String[] strArray1 = (String[])list.toArray(new String[list.size()]);
        System.out.println(strArray1);
        //数组转换为list
        List<String> list1 = Arrays.asList(strArray1);
        System.out.println(list1);
    }
}

 记住集合List转换为数组是这样的:

String[] strArray1 = (String[])list.toArray(new String[list.size()]);
如果写成:String[] strArray1 = (String[])list.toArray();将会报不能将object类型转换为String类型的。

这里有个奇怪的现象:

int[] ints = {1, 3, 2, 5, 6};
        System.out.println(ints);
        System.out.println(Arrays.asList(ints));

 输出的结果:

 

[I@de6ced
[[I@de6ced]这里没有像上面字符串的数组那样打印出里面的值来。

这是因为jdk1.4里面Arrays.asList(Object[] objs),String[]数组,这里的String是一个Object类型的,所以被转换为LIst了,而int(其他基本类型也是如此,char,float……)不是一个Object类型的,所以采用jdk1.5里面的asList(T... a),将int[]做一个参数传入进去了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值