Java定义了一个名为
在Java或某些公共库中是否提供了这样的“实例集”?我找不到任何东西,但也许有人在SO上知道得更好。如果没有,我会自己实现。谢谢。
Set
的接口,其中contains()
的定义如下:
如果此集合包含指定元素,则返回
true
。更正式地说,当且仅当此集合包含一个元素e
,使得(o==null ? e==null : o.equals(e))
时才返回true
。
Collection
接口将contains()
定义如下:
我需要一个Java“实例集”,其中如果此集合包含指定元素,则返回
true
。更正式地说,当且仅当此集合包含至少一个元素e
,使得(o==null ? e==null : o.equals(e))
时才返回true
。
contains()
基于==
而不是equals()
。换句话说,这是一组硬实例,其中两个不同的对象A和B可以共存于同一集合中,因为A!= B
。在Java或某些公共库中是否提供了这样的“实例集”?我找不到任何东西,但也许有人在SO上知道得更好。如果没有,我会自己实现。谢谢。
Set
违反了Set
合同...就像IdentityHashMap
违反了Map
合同一样。无论如何,这可能是这样一个类不是集合框架标准部分的原因。 - Stephen Cequals()
,它不会影响库对对象的处理)。在这种情况下,我正在使用IdentityHashMap
,但我也可以看到基于标识的集合的用途。 - Joachim Sauer