由于字符串是常量,因此"一旦创建,其内容和长度是不可改变的"。
如果需要对一个字符串进行修改,则只能创建新的字符串。
为了对字符串进行修改,Java提供了一个StringBuffer类(也称字符串缓冲区)。
StringBuffer类和String类最大的区别在于它的"内容和长度都是可以改变"的。
"StringBuffer类"似一个"字符容器",当在其中添加或删除字符时,并不会产生新的StringBuffer对象,
最后用成员方法 String toString()转换为"字符对象",返回StringBuffer缓冲区中的字符串
StringBuffer类中方法:
1.StringButfer append (数据) 添加数椐
2.StringBuffer insert(int x,String str) 将字符串插入指定索引应置
3.StringBuffer deleteCharAt(int index)删除指定索引处的字符
4.StringBuffer delete(int start,int end)删除指定索引范围的字符,包含开始,但不包含结束索引
5.StringBuffer replace(int start,int end,String s)使用新值替换指定位置的字符(包含开始,但不包含结束索引)
6.void setCharAt(int index, char ch)修改指定索引位置的字符
7. StringBuffer reverse() 反转数据
8. String toString()转换为字符对象,返回StringBuffer缓冲区中的字符串
package sk;
public class zuoye5 {
public static void main(String[] args){
1. StringButfer append (数据) 添加数椐
StringBuffer sb=new StringBuffer();//创建内容为空的字符串缓冲对象
sb.append('a');
sb.append('b');
sb.append('c');
System.out.println(sb); //结果是:abc
2. StringBuffer insert(int x,String str) 将字符串插入指定索引应置
sb.insert(0,"shike ");
System.out.println(sb);//结果是:shike abc
3. StringBuffer deleteCharAt(int index)删除指定索引处的字符
sb.deleteCharAt(1);
System.out.println(sb);//结果是:sike abc
4. StringBuffer delete(int start,int end)删除指定索引范围的字符,包含开始,但不包含结束索引
sb.delete(2, 5) ;
System.out.println(sb);//结果是:siabc
5. StringBuffer replace(int start,int end,String s)使用新值替换指定位置的字符(包含开始,但不包含结束索引)
sb.replace(0, 5, "ABCSI");
System.out.println(sb);//结果是:ABCSI
6. void setCharAt(int index, char ch)修改指定索引位置的字符
sb.setCharAt(1, 'T');
System.out.println(sb);//结果是:ATCSI
7. StringBuffer reverse() 反转数据
sb.reverse();
System.out.println(sb);//结果是:ISCTA
8. String toString()转换为字符对象,返回StringBuffer缓冲区中的字符串
这个方法是比较重要的,因为众多操作之后,还要把它转成字符串数据这样sk就可以"调用众多String的操作方法"了
String sk=sb.toString();
System.out.println(sk); //结果是:ISCTA
}
}
Java StringBuffer(容器内部修改)类的常见操作
最新推荐文章于 2024-05-08 18:23:31 发布
![](https://img-home.csdnimg.cn/images/20240711042549.png)