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 11:56:37 浏览: 174
这个错误是因为你在一个不支持修改操作的列表上调用了 `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 ]
java.lang.UnsupportedOperationException at java.util.AbstractList.add(AbstractList.java:148) at java.util.AbstractList.add(AbstractList.java:108) at org.apache.commons.collections.CollectionUtils.addAll(CollectionUtils.java:688) at com.bosssoft.hr.train.j2se.util.UtilsDemo.method2(UtilsDemo.java:60) at Test1.testUtilsDemo2(Test1.java:56) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:59) at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:56) at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306) at org.junit.runners.BlockJUnit4ClassRunner$1.evaluate(BlockJUnit4ClassRunner.java:100) at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:366) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:103) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:63) at org.junit.runners.ParentRunner$4.run(ParentRunner.java:331) at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:79) at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:329) at org.junit.runners.ParentRunner.access$100(ParentRunner.java:66) at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:293) at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306) at org.junit.runners.ParentRunner.run(ParentRunner.java:413) at org.junit.runner.JUnitCore.run(JUnitCore.java:137) at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:69) at com.intellij.rt.junit.IdeaTestRunner$Repeater$1.execute(IdeaTestRunner.java:38) at com.intellij.rt.execution.junit.TestsRepeater.repeat(TestsRepeater.java:11) at com.intellij.rt.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:35) at com.intellij.rt.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:232) at com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:55)
这个异常是java.lang.UnsupportedOperationException,它表示不支持的操作。在你提供的堆栈跟踪中,该异常是在UtilsDemo的method2方法中抛出的。
根据堆栈跟踪,异常是在java.util.AbstractList.add方法中抛出的。在此方法中,添加元素的操作不受支持,因此抛出了UnsupportedOperationException异常。
要解决此问题,你需要检查method2方法中的代码,并确保在使用add方法添加元素之前,你正在操作支持添加操作的列表或集合。另外,还要确保你使用的集合实例已经实例化和初始化。
如果你能提供method2方法的代码,我可以帮助你更具体地解决这个问题。
阅读全文
相关推荐
















