LoginSignup
1
1

More than 5 years have passed since last update.

HashSetのcontainsメソッドについて

Posted at

標準のJavaDocにはこう書かれてるんすよ。

指定された要素がセットに含まれている場合にtrueを返します。つまり、このセットに、(o==null ? e==null : o.equals(e))となる要素eが含まれている場合にのみtrueを返します。

つまりオレオレクラスを使ったHashSetでcontainsしたいときは、オレオレクラスにequalsだけオーバーライド実装すればいいと思うじゃないですか?
ところが残念、hashCodeもオーバーライド実装しないと正しく動かないんですねぇ~~~~~~

ひしだまさんのところでequalsをオーバーライドするならhashCodeもオーバーライドせなあかんよ~って書かれてるのはこういうことだったんですねぇ~~~~~~~~
JavaDocにちゃんと書いておいて欲しいですねぇ~~~~~~~~
JavaDocは大切ってことですねぇ~~~~~~~~~

1
1
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1