本帖最后由 ↘ふ紫铯幽夢 于 2014-5-25 15:34 编辑
//这是我的分析,请看注释
- String s1="a"+"b"+"c";
- String s2="a"+("b"+"c");//如果按照会创建多个对象来理解,该行代码会先创建b+c的对象再和c想加返回一个全新的对象,按照这个逻辑推断s1==s2应该返回false,但实际返回true。与会创建多个对象相违背。 String s1="a"+"b"+"c";因此我认为 String s1="a"+"b"+"c"该行代码只会创建一个对象。
- System.out.println(s1==s2);//返回了true
复制代码 |