gpt4 book ai didi

java - 为什么 Java ArrayList 类为添加返回一个 boolean 值?

转载 作者:搜寻专家 更新时间:2023-11-01 04:07:27 24 4
gpt4 key购买 nike

对于我正在编写的方法,我的老师给了我这个类比。我还是不明白为什么 add 方法返回 boolean 值?

它不返回任何内容不是更有意义吗?

最佳答案

这来自 Collection<E> 接口(interface),因为接口(interface)被用作各种集合的祖先类,所以返回 boolean 是有意义的通知如果 add有效地改变了集合。

这对于 Set<T> 这样的集合很有用如果添加的元素已经存在于集合中,则不会改变。如果是 List<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.

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

关于java - 为什么 Java ArrayList 类为添加返回一个 boolean 值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40954748/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com