gpt4 book ai didi

java - UnsupportedOperationException 尝试设置二维列表的值

转载 作者:行者123 更新时间:2023-12-01 09:29:29 26 4
gpt4 key购买 nike

当运行以下代码时,我遇到一个异常,它简单地说:线程“LWJGL Application”中出现异常 java.lang.UnsupportedOperationException

// Declare the main List for this situation
List<List<Integer>> grid = new ArrayList<List<Integer>>();

// Initialize each value as 0, making a list of 0s, the length equal to COLUMNS, in a list of Lists, where the length of that is ROWS
// ROWS and COLUMNS have been defined as constants beforehand. Right now they are both equal to 8
for (int row = 0; row < ROWS; row++) {
grid.add(Collections.nCopies(COLUMNS, 0));
}

// Now set the first element of the first sub-List
grid.get(0).set(0, Integer.valueOf(2));

我实际上想做的是将元素设置为在程序中其他地方计算的特定值。在调查问题之后,我将范围缩小到这些行,并发现我尝试更改元素以引发异常的任何值。我已经尝试过在其他地方计算出的实际值,数字文字 2,以及现在样本中的内容。我尝试的所有操作都会抛出 UnsupportedOperationException。我该怎么办?

最佳答案

Collections.nCopies(...)根据文档返回一个不可变列表。对这些列表之一调用 set(...) 将导致 UnsupportedOperationException

您可以尝试按如下方式更改代码:

for (int row = 0; row < ROWS; row++) {
grid.add(new ArrayList<>(Collections.nCopies(COLUMNS, 0)));
}

关于java - UnsupportedOperationException 尝试设置二维列表的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39564332/

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