0

次のコードを検討してください。

String s = "Dear";
String s1 = "My"+ s;  
String s2 = "MyDear"; 
String s3 = "My"+"Dear";

ここで、s1 と s3 は文字列定数式によって作成されます。

System.out.println(" s2 == s3 is " + (s2 == s3)); //真実

s2 と s3 の両方が同じインターンされた String オブジェクトを指しているため、true になりますが、

System.out.println(" s1 == s2 is " + (s1 == s2)); //間違い

ファスレに出てきます。なんで?

4

1 に答える 1

4

s1 は、定数式によって作成されません。s3です。

于 2012-06-23T07:10:09.880 に答える