gpt4 book ai didi

java - Java 中的 ArrayList.toArray() 方法

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:52:16 25 4
gpt4 key购买 nike

我想知道他们为什么要在 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 的实例本身有足够的细节来将数据转换成数组。

我的问题是为什么他们还需要传入数组?谢谢。

最佳答案

我能想到的两个原因:

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

关于java - Java 中的 ArrayList.toArray() 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9874121/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com