Exception in thread "main" java.lang.UnsupportedOperationException at java.base/java.util.AbstractList.remove(AbstractList.java:167) at RiverCrossing.RiverCrossing.crossRiver(RiverCrossing.java:38) at RiverCrossing.RiverCrossing.main(RiverCrossing.java:10)代码报错
时间: 2024-02-23 20:56:37 浏览: 14
这个错误是因为你在一个不支持修改操作的列表上调用了 `remove()` 方法,例如使用 `Arrays.asList()` 创建的固定长度列表。如果你需要修改列表,可以使用可变列表(如 `ArrayList`)或创建一个新的列表来存储数据。另外,你也可以检查一下 `crossRiver()` 方法的实现,看看是否有其他地方可能会修改这个列表。
相关问题
Exception in thread "main" java.lang.UnsupportedOperationException: remove
回答: 引发异常"Exception in thread "main" java.lang.UnsupportedOperationException: remove"的原因是在调用Arrays.asList()方法生成的List对象上调用了add或remove方法。\[2\]Arrays.asList()返回的是Arrays的内部类ArrayList,而不是java.util.ArrayList。Arrays的内部类ArrayList继承自AbstractList,而AbstractList中的remove和add方法默认会抛出UnsupportedOperationException异常。\[3\]解决这个问题的方法是将Arrays.asList()生成的List对象转换为java.util.ArrayList对象,然后再进行add或remove操作。例如,可以使用以下代码解决这个问题:
```
String\[\] array = {"1","2","3","4","5"};
List<String> list = Arrays.asList(array);
List<String> arrList = new ArrayList<>(list);
arrList.add("6");
```
#### 引用[.reference_title]
- *1* *3* [java.lang.UnsupportedOperationException解决方法!!!](https://blog.csdn.net/lcdaaaa/article/details/80240030)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item]
- *2* [java:Exception in thread “main“ java.lang.UnsupportedOperationException](https://blog.csdn.net/qq_44732146/article/details/125866796)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]
Caused by: java.lang.UnsupportedOperationException: null
引用\[1\]中的异常"java.lang.UnsupportedOperationException: null"是由于在使用Arrays.asList()方法将数组转换为列表时,生成的列表是Arrays的内部类ArrayList,而不是java.util.ArrayList。这两个ArrayList都继承自AbstractList,但是Arrays的内部类ArrayList没有重写AbstractList的add和remove方法,而是直接抛出了java.lang.UnsupportedOperationException异常。因此,当使用add或remove方法时,会导致该异常的抛出。\[2\]
另外,引用\[3\]中提到,如果在xml文件中的resultType类型定义错误,也会导致类似的异常。在这种情况下,需要确保resultType的类型与实际的实体类类型匹配,以避免出现java.lang.UnsupportedOperationException异常。\[3\]
#### 引用[.reference_title]
- *1* *2* [java.lang.UnsupportedOperationException: null异常处理](https://blog.csdn.net/qq_40236927/article/details/123198161)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item]
- *3* [Caused by: java.lang.UnsupportedOperationException: null 解决办法](https://blog.csdn.net/qq_37950196/article/details/108627860)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]