StringBuilder & StringBuffer


StringBuilder与StringBuffer:


类的对象能够被多次的修改,并且不产生新的未使用的对象。

常用于代替字符串,做高效的字符串连接  sb.append(...)

      

功能、用法完全相同

      StringBuilder 线程不安全

      StringBuffer  线程安全


创建对象:

      StringBuilder sb = new StringBuilder();  
    
      StringBuilder sb = new StringBuilder(".....");


方法:

sb.append()  在字符序列末尾,追加字符,高效的字符串连接

sb.delete(int start,int end)   删除 [start, end) 位置的字符串

sb.deleteCharAt(int index)   删除指定为置单个字符

sb.insert(int index, 子串)   在 index 位置,插入一个子串str

sb.replace(int start, int end, String str)  将[start, end)替换为指定字符串str

sb.setCharAt(int index, char ch)  将 index 位置替换为字符ch

sb.toString()  转为String类型

sb.reverse()  翻转

 



番外:

String类用于比较两个字符串、查找和抽取串中的字符或子串、字符串与其它类型之间的相互转换等。String对象中存放的字符串是不能被修改的

StringBuffer类用于内容可以改变的字符串,可以将其它各种类型的数据增加、插入到字符串中,也可以转置字符串中原来的内容。如果是要求频繁增加,删除,修改字符串中的某些字符的话,那么String就不适用了。这个时候可以使用StringBuffer。一旦通过StringBuffer生成了最终想要的字符串,就应该使用StringBuffer.toString方法将其转换成String类,随后,就可以使用String类的各种方法操纵这个字符串了。




Java为字符串提供了特别的连接操作符(+),可以把其它各种类型的数据转换成字符串,并前后连接成新的字符串。连接操作符(+)的功能是通过StringBuffer类和它的append方法实现的。

String x = "a" + 4 + "c"; 
编译时等效于
String x=new StringBuffer().append("a").append(4).append("c").toString(); 


你可能感兴趣的:(java,String,StringBuilder,StringBuffer)