Java文档说了以下有关Set接口的内容,有人可以帮助我了解如何强制执行这些附加规定吗?我的意思是您不能抛出超级接口(在本例中为Collection)未抛出的额外异常。
Set接口可放置其他
规定,超越继承的规定
从“收藏”界面中
所有建设者的合同
加法的合约等于
hashCode方法。
谢谢
-阿比迪
最佳答案
规定不是强制性的,它们只是添加到合同中。
幸运的是,Collection
(和Object
)中方法的协定足够宽松,以至于实现可以实现Collection
,Object
和Set
的协定,而不会违反任何一个。
例如,当尝试添加其中已存在的对象时,add
方法不会引发异常,它只会返回false
(而不是true
)。 Collection.add
已允许这样做:
确保此集合包含指定的元素(可选操作)。如果此集合由于调用而更改,则返回true。 (如果此集合不允许重复并且已经包含指定的元素,则返回false。)
关于java - Java集合规定,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5450072/