java之StringBuffer

StringBuffer就是字符串缓冲区,用于存储数据的容器。

特点:长度可变,可存储不同类型的数据,最终转化成字符串使用,可以对字符串修改

功能:

  添加:append(value), insert(index,value);

  删除:delete(start,end), deleteCharAt(index);

  查找:char charAt(index),  int indexOf(String), int lastIndexOf(String);

  修改:replace(start,end,string), setCharAt(index);

  其他:setLength():设置长度,多了删除,少了空字符补齐;reverse():反转

可变数组长度原理:当长度不够时,会创建一个新数组,是原来数组的1.5-2倍,然后copy元数组到新数组。


 

StringBuffer和Stringbuilder的区别:

stringbuilder是在jdk1.5以后出现的,功能和stringbuffer一模一样,stringbuffer在添加和删除时都设置了锁,没添加一次都要判断锁。

StringBuffer:线程同步,用于多线程。

StringBuilder:线程不同步,用于单线程,提高效率。

 

原文地址:https://www.cnblogs.com/nolonely/p/5953242.html