gpt4 book ai didi

java - Arrays.AsList 和 addAll

转载 作者:行者123 更新时间:2023-11-30 06:12:53 25 4
gpt4 key购买 nike

有人可以向我解释一下什么是差异吗?

private List<Coin> mycCoins = new ArrayList<>();

public Purse(Coin...coins) {
myCoins = Arrays.asList(coins);
myCoins.addAll(Arrays.asList(coins));
}

这些 myCoins 之间?

为什么我不能这样做

mycCoins.addAll(coins);

实际上,知道我是否这样写会很有趣

for (Coin coin : coins) {
mycCoins.add(coin);

这种方式与我上面提到的方式有何不同

请帮助我,并向我解释一下

最佳答案

Arrays.asList(coins)给你一个全新的列表,但它不是通常类型的 ArrayList 。它是一种特殊类型的列表,下面有一个固定大小的数组,这意味着您无法在其中添加或删除元素。它停留在原始大小 coins尽管您可以修改其中的值。

addAll(something)将硬币添加到您已有的列表中,该列表可以是任何类型的 List 。您可以通过 ArrayList 来调用它您已经创建了,并且元素的数量实际上会增加。

你传递给addAll的东西但不能是数组,它必须是某种 Collection ,因为那就是addAll被定义为。在大多数情况下,最简单的做法是将其传递给您从 Array.asList 获得的不可调整大小的列表之一。 ,所以类似

myList.addAll(Arrays.asList(coins));

关于java - Arrays.AsList 和 addAll,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49846047/

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