java String,StringBuilder和StringBuffer类的区别
String是只读字符串,所引用的字符串不能被改变
底层是通过Stringbuild来实现
SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。例如:
String str1="1"
String str2=str1+"a";
等价于
StringBuilder str = new StringBuilder();
str.append(1);
str.append("a");
String str2=str.toString();
区别
String和Stringbuilder在单线程环境下使用;
StringBuffer在多线程环境下使用,可以保证线程同步;
Stringbuilder 和StringBuffer 实现方法相同,均表示可变字符序列,不过StringBuffer 用synchronized关键字修饰(保证线程同步)
运行速度
当需要对某一字符串大量重复操作时:
Stringbuilder 最快,不需要考虑线程同步;
StringBuffer次之;
String最慢,因为每次都要重新开辟内存,产生很多匿名对象,影响系统性能

更多精彩