Java String,StringBuilder,StringBuffer区别和实际应用总结

概述: 
String是不可变的对象, 
因此在每次对String 类型进行改变的时候,
都会生成一个新的 String 对象,
然后将指针指向新的 String 对象,
所以经常改变内容的字符串最好不要用 String ,
因为每次生成对象都会对系统性能产生影响,
特别当内存中无引用对象多了以后,
 JVM 的 GC 就会开始工作,性能就会降低。


使用策略:
1) 基本原则:如果要操作少量的数据,用String ;单线程操作大量数据,
用StringBuilder ;多线程操作大量数据,用StringBuffer。

2) 不要使用String类的”+”来进行频繁的拼接,因为那样的性能极差的,
应该使用StringBuffer或StringBuilder类,这在Java的优化上是一条比较重要的原则。例如:

//String
String result = "";  
for (String s : hugeArray) {  
    result = result + s;  
}  

// 使用StringBuilder  
StringBuilder sb = new StringBuilder();  
for (String s : hugeArray) {  
    sb.append(s);  
}  
//StringBuffer
String result = sb.toString(); 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值