这来自Collection<E>接口,因为接口被用作各种集合的祖先类,boolean如果add有效地改变了集合,返回一个通知是有意义的.
这对于集合非常有用,Set<T>如果添加的元素已经存在于集合中,则集合不会更改.如果List<T>Java强制要求设计返回true,那么如果你想通知调用者操作没有成功,你必须找到另一种方法(例如抛出异常).
Collection<E>.add文档中明确说明了这一点:
如果一个集合因为已经包含该元素的原因而拒绝添加特定元素,那么它必须抛出异常(而不是返回false).这保留了在此调用返回后集合始终包含指定元素的不变量.
基本上,返回的值不表示失败,但是如果成功的添加操作改变了集合.必须通过抛出异常来通知任何失败.
| 归档时间: |
|
| 查看次数: |
2297 次 |
| 最近记录: |