字符串学习笔记(二)---- 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;