本帖最后由 x378320002 于 2013-5-23 21:12 编辑
代码如下:- String s1="java";
- String s2="ja";
- String s3="ja"+"va";
- String s4=s2+"va";
- System.out.println(s1==s3);
- System.out.println(s1==s4); //false
复制代码 我知道s1=s3,是因为都指向了常量池中的对象,s3发现"java"在池中存在,就不再创建新的,可是s4运算的
具体流程,为什么却又创建了一个新对象呢?常量池中不是已经有了么? |