您的位置:首页 > 其它

String s = "a"+"b"+"c"+"d"共创建了多少个对象?

2012-03-18 12:44 423 查看
String s1 = "a";
String s2 = s1+"b";
String s3 = "a"+"b";
System.out.println(s2=="ab");
System.out.println(s3=="ab");

输出结果为false和true,说明javac编译可以对字符串常量直接相加的表达式进行优化,不必要等到运行期去进行加法运算处理,而是在编译时去掉加号,直接将其编译成这些常量字符窜连接后的结果。

则String s = "a"+"b"+"c"+"d"相当于定义了一个“abcd”的字符串,及上面的代码只创建了一个String对象
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐