黑马程序员技术交流社区

标题: 字符串常量相加和字符串变量相加的区别 [打印本页]

作者: 哈皮哈皮doge    时间: 2015-8-26 22:23
标题: 字符串常量相加和字符串变量相加的区别
  1. /*
  2. * 字符串常量相加,在编译时就被当做一个字符串了,例如"a"+"b"就是"ab",因此s3=="a"+"b"的结果是true
  3. * 字符串常量和字符串变量相加,或者字符串变量之间相加,编译器就不会优化了,相反,会重新new一个StringBuilder的对象,并且调用append方法将这俩串拼接起来,因此,s3==s1+s2为false
  4. */
  5. public class Test{
  6.         public static void main(String[] args)
  7.     {
  8.                 String s1 = "a";
  9.         String s2 = "b";
  10.         String s3 = "ab";
  11.         System.out.println(s3 == s1 + s2);  //false
  12.         System.out.println(s3 == "a" + "b");  //ture
  13.     }
  14. }
复制代码







欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2