ちくやらアーカイブ

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

スポンサーサイト

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

equalsの比較と参照の比較

ざっと見て4パターンの考え方がある。



1.
Object同士の比較で
x.equals(y)がtrueだったら、 x == y もtrueになる。


2.StringBuffer同士の比較で
x.equals(y)がtrueだったら、 x == y もtrueになる。



つまり、これらは中身も参照も完全一致ってこと。




3.
Stringの場合はx.equals(y)がtrueでも、
x == y がtrueにもfalseにもなったりする。

オブジェクトの一致と参照の一致が別々になることがある。
Stringのところで説明するけど
Strina x = "ABC";
Strina y = "ABC";
の時、x.equals(y)がtrueだったら、 x == y もtrueになる。

ただし、
Strina x = new String("ABC");
Strina y = new String("ABC");
の時は、x.equals(y)がtrueでも、 x == y はfalse。



4.
Integerとかのラッパークラスのオブジェクトは、
x.equals(y)がtrueでも、 x == y はfalse になっている。
別オブジェクト扱い。



スポンサーサイト
  1. 2005/03/31(木) 20:50:37|
  2. 資格:SJC-P|
  3. トラックバック:0|
  4. コメント:0
<<hashCode | ホーム | 識別子とリテラル>>

コメント

コメントの投稿

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

トラックバック

トラックバックURLはこちら
http://runark.blog6.fc2.com/tb.php/11-9bb80254

ルナーク

Category

Recent Comments

Recent Entries

Recent Trackbacks

Archives

Links

Search

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