gpt4 book ai didi

java - 新 ArrayList (T[] arr)

转载 作者:搜寻专家 更新时间:2023-11-01 01:18:01 24 4
gpt4 key购买 nike

好吧,所以这对我来说没有意义......也许有人可以阐明一些问题。我想出的一种将原始数组转换为 ArrayList 的技术如下。

arr = new ArrayList<String>(Arrays.asList(primitveArray));

这很好用。但是今天,我开始怀疑这有多有效,因为我碰巧写了一些代码,其中性能比它更重要,我过去曾在其他应用程序中使用它,因此决定查看 Arrays.asList() 的源代码。

我发现了这个:

public static <T> List<T> asList(T... array) {
return new ArrayList<T>(array);
}

我对自己说:“我真是个白痴,它只是将数组传递给 ArrayList 构造函数 ArrayList<T>(T[] arr),为什么我不跳过一步而不使用愚蠢的 Arrays.asList?

所以我试试这个

arr = new ArrayList<T>(primitveArray)

在我的代码中。但突然ArrayList<T>(T[] arr)未定义。我很困惑为什么会这样?

最佳答案

But then suddenly ArrayList<T>(T[] arr) is undefined. I'm quite confused why this would be?

有两个名为 ArrayList 的类:

  • 一个是private static java.util.Arrays 的内部类;
  • 另一个是java.util.ArrayList .

asList()使用前者。您正在尝试使用后者。这两个类是无关的,它们只是碰巧共享相同的名称。

重要的是要注意 java.util.Arrays.ArrayList不复制数组。它提供了一个 View 。

关于java - 新 ArrayList<T> (T[] arr),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10758474/

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