您的位置:首页 > Web前端

JAVA中的StringBuffer

2017-04-05 22:17 120 查看
构造方法:

  StringBuffer():构造一个其中不带字符的字符串缓冲区,其初始容量为 16 个字符。

   StringBuffer(int capacity):构造一个其中不带字符的字符串缓冲区,其初始容量为 capacity个字符。

   StringBuffer(String str):构造一个其中带字符的字符串缓冲区,其初始容量为??? 个字符。

 

 成员方法:

  public int length():返回长度(字符数)。实际值

  public int capacity():返回当前容量。 理论值 

 添加功能:添加元素,并返回本身的对象。

  A:public StringBuffer append(String str):追加数据,在末尾添加

  B:public StringBuffer insert(int offset,String str):插入数据,在指定位置添加

 删除功能:

  public StringBuffer deleteCharAt(int index):删除指定索引处的字符
public StringBuffer delete(int start,int end):删除从start开始到end结束的数据,包左不包右

 替换功能:
public StringBuffer replace(int start,int end,String str):用str替换从start到end的数据

反转功能:
public StringBuffer reverse()

 截取功能:返回值类型是String类型,本身没有发生改变
public String substring(int start)
public String substring(int start,int end) 

 相互转换:
String
-- StringBuffer

  String s = "hello";
// 方式1
StringBuffer sb1 = new StringBuffer(s);
// 方式2
StringBuffer sb2 = new StringBuffer();
sb2.append(s);

  

  StringBuffer  --  String
StringBuffer sb = new StringBuffer("world");
//方式1
String s1 = sb.substring(0);
//方式2
String s2 = sb.toString();
//方式3

String s3 = new String(sb);

StringBuffer和StringBuilder

 * StringBuffer:

 * 线程安全的可变字符序列。

 * 

 * String和StringBuffer的区别?

 * A:String的内容不可变

 * B:StringBuffer的内容可变

 * 

 * StringBuffer和StringBuilder的区别?

 * A:StringBuffer 线程安全,效率低

 * B:StringBuilder 线程不安全,效率高

 * 

 * 线程安全:(同步),效率低

 * 线程不安全:(不同步),效率高
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  stringbuffer java