A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 颜宗茂 黑马帝   /  2012-1-1 21:06  /  2177 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

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

1 个回复

倒序浏览
和字面量"b"进行+运算的是一个对象而不是字面量
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马