java - 集合上的 UnsupportedOperationException

标签 java exception collections

在研究 Collection API 时,我们发现某些方法(addremove、...)可能会抛出 java.lang.UnsupportedOperationException 如果 Collection 的当前实现不支持这些功能。

实际上,在 JDK 中是否有一个具体的 Collection 不支持这些方法?

非常感谢您的回答。

最佳答案

除了 Collections.unmodifiable* 返回的集合方法,还有一些有趣的情况,其中 UnsupportedOperationException 实际被抛出:

  • Map 的 Collection View , 通过 entrySet() 访问, keySet()values()可以删除但不添加元素,
  • Arrays.asList 返回的 ListView 既不能添加也不能删除元素,
  • 另外,从Collections.empty*Collections.singleton*方法获得的对象也被标记为“不可变”,所以- 尽管 API 文档中没有明确说明 - 我想这些也会在尝试修改它们时引发异常。

关于java - 集合上的 UnsupportedOperationException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2887590/

相关文章:

java - @JsonProperty 不工作(Weblogic 12.2.1 和 Java 8)

java - 是什么导致了 java.lang.ArrayIndexOutOfBoundsException 以及如何防止它?

scala - Scala 并行集合上的哪些操作是并行化的?

javascript - meteor 集合光标 forEach 不起作用

java - 区分从不同的spring配置文件加载的bean

java - 扫描文本文件中的字符串,如果找到,则使用该字符串创建新的 txt 文件

java - 我的 Retrofit call.enqueue() 方法被完全跳​​过,不知道为什么

java - 如何在 Web 服务中返回 HTTP 代码

asp.net - 这是企图破坏我的 ASP.Net 站点的安全吗?

javascript - 如何测试 JavaScript 对象是否是有序类型的对象