2

以下のようなことを試しました:

String s1="test5";
String s2="test"+5;
String s3="test"+s1.length();
System.out.println("s1==s2 "+(s1==s2)+"  s2==s3 "+(s2==s3)+" s1==s3 "+ (s1==s3));

出力は次のとおりです。

s1==s2 true

s2==s3 false

s1==s3 false

s2s1が に等しくないのはなぜs3ですか? に対して新しい参照が生成されるのはなぜs3ですか?

4

1 に答える 1

0

ここでString s2は、常に一定の値を持っていますtest5。しかしs3、値はに依存していString s1ます。長さがs1変化すると、それも変化するため、動的です

于 2015-10-12T10:42:00.247 に答える