String,StringBuffer,StringBuilder区别与效率

来源:互联网 发布:seo网站排名优化工具 编辑:程序博客网 时间:2024/04/29 22:30

原文地址:String in Java

今天看到一篇文章,觉得很有用,特意记下来。 

总结: 
区别: 
1.String是不可变的,原因是其用于存储字符序列的char[] value数组被用final修饰了。 
2.StringBuffer的char[] value数组初始化长度是参数长度+16,所以可以使用其append()方法追加字符串。 
3.StringBuilder与StringBuffer类似,不同点是其方法没有被关键字synchronized修饰,所以它线程不安全,但它的效率要比StringBuffer高。 

效率: 
1.直接使用字符串常量“+”连接效率最高,例:String str = "abc"+"d";。 
2.append()方法的效率高于String对象的"+"连接运算。 
3.使用String类的intern()方法,可缓解因多次创建对象带来的程序低效问题。 
原创粉丝点击