Collection中 Object[] toArray()和 T[] toArray(T[])方法

1、Object[] toArray(): 返回一个包含此集合中所有元素的数组。

        List<String> list = new ArrayList<String>();
		list.add("betty");
		list.add("sweeney");
		list.add("钟");
		list.add("左");
		Object[] obj = list.toArray();
		System.out.println(Arrays.toString(obj));

错误:String[] obj = (String[])list.toArray();//类型转化异常
ps:此方法将集合转换为数组,但是返回值类型只能为Object[] 不可进行强制转换
否则会出现java.lang.ClassCastException

2、T[] toArray(T[]);返回包含此集合中所有元素的数组; 返回的数组的运行时类型是指定数组的运行时类型。 如果集合适合指定的数组,则返回其中。 否则,将为指定数组的运行时类型和此集合的大小分配一个新数组。

List<String> list = new ArrayList<String>();
		list.add("betty");
		list.add("sweeney");
		list.add("钟");
		list.add("左");
        String[] s = new String[10];
		String[] str = list.toArray(s);
		System.out.println(Arrays.toString(str));
该方法返回包含此list中所有元素的数组,返回的数组的类型(str)和指定数组(s)的类型相同必须相同。
ps:如果你指定的数组s可以容纳list中所有元素,则用list中元素填充该数组,并返回。
反之,返回一个具有指定数组的类型和此list大小相同的新数组。(也就是说就算你指定的数组容量小于list数组的容量,也会返回一个与list大小相同的数组,指定数组容量大于等于0都可以)。
ps:如果指定数组(s)的容量大于了list中元素的容量,有剩余空间,那么数组中紧接着list尾部的那些元素会被设置为null
如下方截图:

解析上述代码: 

 

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值