- 430 名前:414-417および421-424 mailto:sage [04/01/19 21:18]
- さらに、上記がわかるとObjectクラスの@==とAequalsメソッドの使い分けが理解できます。
(受験者は必須の知識です。) @ if(str == str2) == は同じStringオブジェクトを参照しているかどうかをたずねています。 つまり、strとstr2の中の値(アドレス)が同じかどうかをたずねられています。 strとsrt2の値(アドレス)は同じなので、if(str == str2)はtrueになり、 strとsrt3の値(アドレス)は異なるので、if(str == str3)はtrueになります。 A if(str.equals(str2)) equalsはstrとstr2が同じ文字列を保持しているかどうか つまり、strとstr2が指すStringオブジェクトのインスタンスの中身が同じかたずねています。 この場合str、str2、str3が指すオブジェクトのインスタンスの中身は全て("OK")ですので、 どの組み合わせでもtrueになります。
|

|