2

重複の可能性:
文字列の等価性と場所の等価性

これは私の最初の質問です。しばらくお待ちください。

次のコードがあります。

String str1 = "hello";
String str2 = "hello";
System.out.println(str1 == str2);

そして結果は真です

なんで?

4

2 に答える 2

2

Java は、コンパイル時に同じリテラルを見つけると、その単一のインスタンスを作成し、それをすべての参照に参照します。

str1 と str2 はどちらも同じリテラル「hello」を持っているため、jvm はその単一のインスタンスを作成し、それを str1 と str2 に割り当てます。

したがって、 str1==str2 を実行すると true になります。(どちらも同じインスタンスを参照しています)

于 2012-05-27T17:57:31.200 に答える
-4

== は等しいことを意味するため、str1 と str2 が互いに等しいと言っている..そして、それは真です

于 2012-05-27T17:54:00.317 に答える