加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

Java中的ArrayList.toArray()方法

发布时间:2020-12-14 05:27:37 所属栏目:Java 来源:网络整理
导读:我想知道为什么他们设计ArrayList中的toArray方法来接受 Java中的数组输入? ArrayListString listArray = new ArrayListString(); listArray.add("Germany"); listArray.add("Holland"); listArray.add("Sweden"); String []strArray = new String[3]; Stri
我想知道为什么他们设计ArrayList中的toArray方法来接受 Java中的数组输入?
ArrayList<String> listArray = new ArrayList<String>();

    listArray.add("Germany");
    listArray.add("Holland");
    listArray.add("Sweden");

    String []strArray = new String[3];
    String[] a = (String [])listArray.toArray(strArray);

对我来说,它似乎不需要这个输入,因为ArrayList本身的实例有足够的细节将数据转换成数组.

我的问题是为什么还需要传递数组?谢谢.

解决方法

我可以想到的两个原因:

>擦除意味着通用参数在运行时不可用,因此ArrayList< String>不知道它包含字符串,它只是原始类型的ArrayList.因此,toArray()的所有调用都必须返回一个不严格正确的Object [].你必须实际创建一个String []的第二个数组,然后循环遍历第一个数组,依次转换所有的参数,以获得所需的结果类型.>定义方法的方法意味着您可以传入对现有数组的引用,并通过该方法填充此方法.在某些情况下,这可能非常方便,而不是返回一个新的数组,然后将其值复制到其他位置.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读