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 回答