刚刚在一个帖子中看到的问题,以前没有怎么注意。- [/code][code]01.String a = "ab";
- 02. String b = "a" + "b";//这里会被编译器自动优化成b = "ab";
- 03.
- 04. String aa = "a";
- 05. String bb = "a";
- 06.
- 07. String c = aa+bb;
- 08. //由于和字面量"b"进行+运算的是一个对象而不是字面量,
- 09. //这样Java虚拟机就会在堆里面生成一个新的对象并返回该对象引用
- 10. String d = aa+"b";
- 11. String e = "a"+bb;
- 12.
- 13. System.out.println(a == b);//因此,只有第一个是true
- 14. System.out.println(a == c);
- 15. System.out.println(a == d);
- 16. System.out.println(a == e);
- 17.
- 18. System.out.println(d == e);
复制代码 |
|