字符串学习笔记(二)---- StringBuffer

一、相关介绍

1、StringBuffer介绍

StringBuffer对象是字符串缓冲区对象,用于存放数据的容器

2、StringBuffer特点

  • StringBuffer(字符串缓冲区对象)的长度是可变的;
  • StringBuffer(字符串缓冲区对象)可以存储不同类型的数据,但都会将它们转换成字符串;

3、StringBuffer与String的区别

  • String对象的值不可以修改;而StringBuffer对象的值可以修改;
  • 在对字符串对象进行增、删、改时,StringBuffer的性能比String性能好;

二、常用功能

1、添加

  • StringBuffer append(大多数类型数据);
    (1)作用
    在字符串缓冲区对象的后面添加不同类型的数据
    (2)注意
    其方法返回的对象是自己本身
public static void main(String[] args) {
        StringBuffer s = new StringBuffer();
        StringBuffer s1 = s.append("test");
        
        System.out.println(s);//test
        System.out.println(s1);//test
        System.out.println(s.equals(s1));//true
}

我们可以将StringBuffer对象看成字符串缓冲区对象,是一个容器。我们对容器的增删改查,并不影响其地址,故第7行代码为true;而无论你对容器做什么修改,s、s1是一个StringBuffer引用对象,当其引用的对象发生改变时,自然s、s1也发生改变。

2、插入

  • StringBuffer insert(int offset,大多数类型数据);
    (1)作用
    在字符串缓冲区对象的指定位置添加不同类型的数据,其使用方法、作用与append()方法相似
    (2)例子
    public static void main(String[] args) {
        StringBuffer s = new StringBuffer("abcd");
        
        s.insert(2, "test");//新的字符串缓冲区对象的下标为2的值是新插入的值
        System.out.println(s);//abtestcd
    }

3、删除

  • StringBuffer delete(int start,int end);
    (1)作用
    删除该字符串缓冲区指定一段的字符串;包含头、不包含尾;
  • StringBuffer deleteCharAt(int index);
    (1)作用
    删除指定位置的元素;

4、查找

  • char charAt(int index);
    (1)作用
    查找字符串缓冲区对象的指定位置的元素;
  • int indexOf(String str);
    (1)作用
    返回指定字符串在该字符串缓冲区第一次出现的位置;如果没有,返回-1;
  • int indexOf(String str,int fromIndex);
    (1)作用
    从指定位置开始查找,返回指定字符串在该字符串缓冲区第一次出现的位置;如果没有,返回-1;
  • int lastIndexOf(String str);
    (1)作用
    返回指定字符串在该字符串缓冲区最后一次出现的位置;如果没有,返回-1;
  • int lastIndexOf(String str,int fromIndex);
    (1)作用
    从指定位置,从前往后查找;返回指定字符串在该字符串缓冲区出现的位置;如果没有,返回-1;

5、修改

  • StringBuffer replace(int start,int end,String str);
    (1)作用
    将指定范围的字符串换成参数str字符串;
  • void setCharAt(int index,char ch);
    (1)作用
    将字符串缓冲区的指定位置的元素替换成元素ch;
原文地址:https://www.cnblogs.com/fourther/p/7600698.html