StringBuffer 拼接、删除、添加、替换字符

当对字符串进行修改的时候,需要使用 StringBuffer 和 StringBuilder 类。
和 String 类不同的是,StringBuffer 和 StringBuilder 类的对象能够被多次的修改,并且不产生新的未使用对象。
StringBuilder 类在 Java 5 中被提出,它和 StringBuffer 之间的最大不同在于 StringBuilder 的方法不是线程安全的(不能同步访问)。
由于 StringBuilder 相较于 StringBuffer 有速度优势,所以多数情况下建议使用 StringBuilder 类。然而在应用程序要求线程安全的情况下,则必须使用 StringBuffer 类。

对这块不太熟悉 特意总结了一篇笔记。没办法谁让我是个小菜鸡呢!!

  • StringBuffer拼接
 public StringBuffer append(String s)
 //将指定的字符串追加到此字符序列。
public class Test{
  public static void main(String args[]){
    StringBuffer sBuffer = new StringBuffer("网站:");
    sBuffer.append("www");
    sBuffer.append(".dddd");
    sBuffer.append(".com");
    System.out.println(sBuffer);  
  }
}
打印结果:网站:www.dddd.com
  • StringBuffer删除子字符串中的字符
 public delete(int start, int end)
 //移除此序列的子字符串中的字符。

参数 (Parameters)
start - 这是起始索引,包括在内。
end - 这是结束索引,独占。

public static void main(String[] args) {
      StringBuffer buff = new StringBuffer("Java lang package");
      System.out.println("buffer = " + buff);
      // 从索引4删除字符到索引9
      buff.delete(4,9);
      System.out.println("After deletion = " + buff);
   }
打印结果:
buffer = Java lang package
After deletion = Java package
  • StringBuffer添加字符
public insert(int offset, int i)
//将 int 参数的字符串表示形式插入此序列中。
public static void main(String[] args) {
  
    StringBuffer buff = new StringBuffer("zyxwvut");
    System.out.println("buffer = " + buff);
        
    // 在偏移量2处插入整数值
    buff.insert(2, 989);
        
    // 插入后输出stringbuffer
    System.out.println("After insertion = "+buff.toString() );
  } 
打印结果:
 buffer = zyxwvut
 After insertion = zy989xwvut
  • StringBuffer替换字符方法
replace(int start, int end, String str)
//使用给定 String 中的字符替换此序列的子字符串中的字符。
public class Main {
    public static void main(String[] args) {
        StringBuffer stringBuffer=new StringBuffer();
        System.out.println(stringBuffer);

//添加 ,
stringBuffer.append(",");
//索引(下标)0    ,长度1
//打印结果:,



//添加 1
stringBuffer.append("1");
 // 索引(下标)1  , 长度2
//打印结果:,1



//添加 2
 stringBuffer.append("2");
//索引(下标)2  , 长度3
 //打印结果:,12



//添加a
stringBuffer.append("a");
//索引(下标)3  , 长度4
//打印结果:,12a


//开始:a的索引 。结束a的索引+1。把a替换为空字符串
System.out.println(stringBuffer.replace(stringBuffer.lastIndexOf("a"),stringBuffer.lastIndexOf("a")+1,""));
打印结果:,12

你可能感兴趣的:(java)