N2.String,StringBuffer,StringBui

2017-03-09  本文已影响0人  subako

String

创建的String类字符串其长度是固定的,虽然使用“+”可以达到附加新字符或字符串的目的,但会产生一个新的String实例,会在内存中创建新的字符串对象。

StringBuffer、StringBuilder

两个类都是可变的字符序列的类,大大提高了频繁增加字符串的效率。StringBuffer支持并发操作,线性安全;StringBuilder不支持并发操作,非线性安全,但在单线程中的性能比StringBuffer高。

常用方法

修改指定字符

public void setCharAt(int index,char ch)     将给定索引处的字符修改为ch;

插入字符串

insert(int offset,String str)     将字符串插入此字符序列中

字符串反序

reverse()     将字符串反序输出

删除子字符串

delete(int start,int end)   移除此序列的子字符串中的字符。注:左闭右开

追加字符串

append()

三者之间的转换

String<-->StringBuffer/StringBuilder:                                                                                    String str=“String”;                                                                                                                     StringBuffer/StringBuilder sb=new StringBuffer/StringBuilder(str);

    str=sb.toString();

StringBuffer<-->StringBuilder

   StringBuffer sbf=new StringBuffer(sbr.toString());                                                                    StringBuilder sbr=new StringBuilder(sbf.toString());    

适用场景

(1)操作少、数据少,用String。

(2)单线程、操作多、数据多,用StringBuilder。

(3)多线程、操作多、数据多,用StringBuffer。

上一篇 下一篇

猜你喜欢

热点阅读