上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
- --/--/--(--) --:--:--|
- スポンサー広告|
-
トラックバック(-)|
-
コメント(-)
とにかく覚えよう。
「丸覚え問題」みたいな感じなので
ここに書いたのを覚えてればとりあえずいいかも…
・java.lang.Objectクラスのメソッド
・public int hashCode()
というメソッドでint型を返すのが特徴。
・「ob1とobj2がequalsメソッドでtrueだった場合は
ハッシュコードでも同一になることを保証する必要がある。」
ちなみに、書き方は
int i = obj1.hashCode();
int j = obj2.hashCode();
で、i == j らしい。
・「ob1とobj2がequalsメソッドでfalseだった場合でも
ハッシュコードで異なる値である必要はない。」
・equalsメソッドをオーバーライドしたい場合は
hashCodeメソッドもいっしょにオーバーライドする必要がある。
どちらか一方だけをオーバーライドすることはできない。
・Javaアプリケーション実行中に同じオブジェクトに対して
hashCodeは毎回同じ値を返す。
・どのオブジェクトに対しても同じ値を返す。
・けど、一旦Javaアプリケーションを終了して再度実行すると、
前回とは違う値を返す。
ひっかけとして、
・hashCodeで == だからといって、equalsメソッドがtrueとは限らない→trueを返すこともある。
・equalsメソッドは異なるオブジェクト同士を比較しているときでもtrueを返すことがある。
スポンサーサイト
- 2005/03/31(木) 20:43:12|
- 資格:SJC-P|
-
トラックバック:0|
-
コメント:0