http://docs.oracle.com/javase/7/docs/api/java/util/Collection.html#add(E)

在上面的链接中,它指出:


  如果某个集合由于已经包含该元素以外的其他原因拒绝添加该元素,则它必须引发一个异常(而不是返回false)。
  这保留了不变,即在此调用返回之后,集合始终包含指定的元素。


如果有人可以解释最后一句话的含义,那将有很大帮助。这是否意味着即使抛出异常也会将.add()的值添加到集合中?

另外,馆藏是否有可能禁止重复并引发异常?

最佳答案

关键是:当该方法引发异常时,它不再返回。

它正在返回或引发异常。因此,当您编写使用add()...的代码并且该调用不会引发您时,您知道添加的对象必须在集合中。无需进一步检查add()返回的布尔结果值。

您会看到,add()很有可能返回false(当集合恰好是一个集合,并且已经存在“ new”对象时)。这取决于您实际处理的集合类型。这里的重点是:正如javadoc所说,布尔结果仅告诉您集合本身的状态(是否更改,是或否)。

关于java - 在Collections doc.oracle中解释语句,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40638551/

10-17 00:52