java - 例如 Set#add(E) 的 Javadoc 中的 "optional operation"是什么意思?

标签 java set javadoc

Set 的 java 文档中时它在方法规范中说 Optional Operation 例如(我强调的)

add(E e)
Adds the specified element to this set if it is not already present (optional operation).

这里的optional是什么意思?

如果我使用 SUN/Oracle 以外的 JVM,该操作可能不会由该 Java 实现提供?

最佳答案

Set 是一个接口(interface)。实现该接口(interface)的类不一定需要为可选操作提供实现。

我认为那些可选操作可以追溯到通用 Collection 接口(interface),其中操作是可选的,这对某些类型的集合没有意义。例如。 add 是一种对某种只读集合没有真正用处的操作。它在 Javadoc 中明确说明,因此它成为所有集合类提供的一部分,但使用它的人知道,给定 some 集合,他们并不完全知道,可能是该方法只是抛出一个 UnsupportedOperationException

关于java - 例如 Set#add(E) 的 Javadoc 中的 "optional operation"是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8375653/

相关文章:

java - 如果我有一个复杂的响应对象,如何使用 JsonIninclude 注释忽略空值

java - Mac 上的 Eclipse 与 Windows 上的 Eclipse 比较?

python - 计算字符串中的常见字符 Python

ruby - Ruby 2.3.1 中 set 的除法函数

java - 有选择地忽略某些 api 的文档

使用标签类时的JavaFX异常

java - Spring Hibernate 事务回滚不起作用

c# - .NET C# 中的集合操作

java - 如何在 Netbeans 中添加 SteelSeries javadoc?

java - Javadoc 1.5 和 1.6 中缺少 enum.valueOf(String name)