- /*
- * 字符串常量相加,在编译时就被当做一个字符串了,例如"a"+"b"就是"ab",因此s3=="a"+"b"的结果是true
- * 字符串常量和字符串变量相加,或者字符串变量之间相加,编译器就不会优化了,相反,会重新new一个StringBuilder的对象,并且调用append方法将这俩串拼接起来,因此,s3==s1+s2为false
- */
- public class Test{
- public static void main(String[] args)
- {
- String s1 = "a";
- String s2 = "b";
- String s3 = "ab";
- System.out.println(s3 == s1 + s2); //false
- System.out.println(s3 == "a" + "b"); //ture
- }
- }
复制代码
|
|