Warum ist die Set
eine Operation anbieten, um ein Element zu erhalten, das gleich einem anderen Element ist?
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
Ich kann fragen, ob die Set
ein Element enthält, das gleich ist mit bar
Warum kann ich dieses Element nicht bekommen? :(
Zur Klarstellung: Die equals
wird überschrieben, aber es wird nur eines der Felder überprüft, nicht alle. Also zwei Foo
Objekte, die als gleich angesehen werden, können tatsächlich unterschiedliche Werte haben, deshalb kann ich nicht einfach foo
.