黑马程序员技术交流社区

标题: String、StringBuffer、StringBuilder的区别? [打印本页]

作者: jiubaK    时间: 2016-9-4 11:49
标题: String、StringBuffer、StringBuilder的区别?
StringBuffer和StringBuilder的区别:
StringBuffer是jdk1.0版本出现的,线程安全,同时效率也变低了;
StringBuilder是jdk5.0版本出现的,线程不安全,效率更高,开发中一般用StringBuilder。

String和StringBuffer、StringBuilder的区别:
String是不可变的字符序列;
StringBuffer和StringBuilder是可变的字符序列;
一般,很多字符串要拼接在一起时,比如:
String str = "qwe";
str += "hello";
str += "java";
这个时候建议使用StringBuilder:
StringBuilder sb = new StringBuilder();
sb.append("qwe").append("hello").append("java");
String str = sb.toString();
因为在字符串直接用"+"号连接时,底层也是用的StringBuffer或StringBuilder,并且没执行一次+连接操作,就会创建一个对象,并调用toString方法返回,较为浪费资源。

作者: wb277379322    时间: 2016-9-4 12:29
学习一下




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