ちくやらアーカイブ

このブログは気分よって構成されています。 BGMも気分で流してます。 あなたの忍耐に感謝します。

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
  1. --/--/--(--) --:--:--|
  2. スポンサー広告|
  3. トラックバック(-)|
  4. コメント(-)

hashCode

とにかく覚えよう。
「丸覚え問題」みたいな感じなので
ここに書いたのを覚えてればとりあえずいいかも…



・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を返すことがある。



スポンサーサイト
  1. 2005/03/31(木) 20:43:12|
  2. 資格:SJC-P|
  3. トラックバック:0|
  4. コメント:0
<<System.out.println | ホーム | equalsの比較と参照の比較>>

コメント

コメントの投稿

管理者にだけ表示を許可する

トラックバック

トラックバックURLはこちら
http://runark.blog6.fc2.com/tb.php/10-6d0cda97

ルナーク

Category

Recent Comments

Recent Entries

Recent Trackbacks

Archives

Links

Search

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。