加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

为什么Java ArrayList类返回一个布尔值来添加?

发布时间:2020-12-15 05:14:16 所属栏目:Java 来源:网络整理
导读:我的老师给了我这个类比我正在编写的方法.我仍然不明白为什么add方法返回一个布尔值? 它什么都不返回会更有意义吗? 解决方法 这来自 CollectionE 接口,因为接口被用作各种集合的祖先类,所以返回一个布尔值来告知是否add有效地改变了集合. 这对于像 SetT 这
我的老师给了我这个类比我正在编写的方法.我仍然不明白为什么add方法返回一个布尔值?

它什么都不返回会更有意义吗?

解决方法

这来自 Collection<E>接口,因为接口被用作各种集合的祖先类,所以返回一个布尔值来告知是否add有效地改变了集合.

这对于像Set<T>这样的集合非常有用,如果添加的元素已经存在于集合中,则该集合不会更改.在列表< T>的情况下Java通过设计强制返回true,因此如果要通知调用者操作未成功,则必须找到另一种方法(例如抛出异常).

这在Collection< E> .add文档中明确说明:

If a collection refuses to add a particular element for any reason other than that it already contains the element,it must throw an exception (rather than returning false). This preserves the invariant that a collection always contains the specified element after this call returns.

基本上,返回的值不表示失败,但是如果成功的添加操作改变了集合.必须通过抛出异常来通知任何失败.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读