最佳答案
为什么Set
不提供获取与另一个元素相等的元素的操作?
Set<Foo> set = ...;
...
Foo foo = new Foo(1, 2, 3);
Foo bar = set.get(foo); // get the Foo element from the Set that equals foo
我可以问Set
是否包含一个等于bar
的元素,那么为什么我不能得到那个元素呢?:(
为了澄清,equals
方法被重写,但它只检查其中一个字段,而不是所有字段。因此,两个被认为相等的Foo
对象实际上可以有不同的值,这就是为什么我不能只使用foo
。