黑马程序员技术交流社区
标题:
String的问题2
[打印本页]
作者:
冰枫
时间:
2014-4-16 10:26
标题:
String的问题2
本帖最后由 冰枫 于 2014-4-17 11:53 编辑
String s = "a" + "b" + "c";
String a = "a";
String b = "b";
String c = "c";
String s = a + b + c;
//最终结果等于:
StringBuffer temp = new StringBuffer();
temp.append(a).append(b).append(c);
String s = temp.toString();
我的问题:
1.看到也说使用StringBuilder,记得两者的区别在于StringBuilder用于单线程,效率更高。究竟是使用的哪一个?
2.s的相加在编译期就完成了,他的实现是怎么完成了?
作者:
sheng6699
时间:
2014-4-16 10:36
1 从 JDK 5 开始,为该类补充了一个单个线程使用的等价类,即 StringBuilder。与该Buffer相比,通常应该优先使用 StringBuilder 类,因为它支持所有相同的操作,但由于它不执行同步,所以速度更快。
2 a,b,c 地址一样。要和new 分开。new 的String 地址不一样。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2