有人能解释一下什么是差异吗?
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);
这种方法与我上面提到的方法有何不同?
请帮助我,并向我解释一下。
UnsupportedOperationException
异常,因为 OP 使用了Arrays#asList
并试图向其添加元素。 - Jacob G.arrayList.addAll(new ArrayList(asList(...)))
,对吗? - Yassin HajajmycCoins.addAll(myCoins);
而不是myCoins.addAll(Arrays.asList(coins));
假设 OP 的确是这个意思,那么就不应该出现上述异常。 - Ousmane D.arrayList.addAll(new ArrayList(asList(...)))
是多余的,可以直接使用arrayList.addAll(asList(...))
。 - Ousmane D.