StringBuffer类

本文深入解析Java中的StringBuffer类,探讨其构造方法、可变字符串特性及常见操作如append、insert、charAt、setCharAt、reverse等,对比String类,突出StringBuffer在处理字符串序列时的灵活性。

1. 描述:

学习了String字符串对象,String类创建的字符串是不可以修改的,也就是说,String字符串不能修改、删除或者替换字符串的某个字符,即String对象一旦创建,那么实体不可以再发生变化,但是我们在Java中有一个类StringBuffer类,该类可以创建可以修改的字符串序列,也就是说,该类的对象的实体的内存空间可以自动地改变大小,便于存放一个可变的字符序列,比如一个StringBuffer对象调用append方法可以追加字符串序列,例如:

StringBuffer s = new StringBuffer("我喜欢");

那么,该对象s可以调用append方法追加一个字符串序列,s.append("打篮球");

2. StringBuffer类有三个构造方法:

①  StringBuffer();

②  StringBuffer(int size);

③  StringBuffer(String s);

使用第一个无参数的构造方法创建一个StringBuffer对象,那么分配给该对象的实体的初始容量可以容纳16个字符,当该对象的实体的字符序列的长度大于16的时候,实体的容量自动增加,以便存放所增加的字符,StringBuffer对象可以通过length()方法来获取实体中存放的字符串序列的长度,通过capacity()方法来获取当前实体的实际容量

StringBuffer sb = new StringBuffer();
sb.append("abc");
System.out.println(sb.toString());   //abc (输出StringBuffer对象的字符串表示)
System.out.println(sb.length());      //3
System.out.println(sb.capacity());   //16

使用第二种构造方法创建一个StringBuffer对象,那么可以指定分配给该对象的实体的初始容量为参数size指定的字符个数,当该对象的实体的字符序列的长度大于size的时候,实体的容量自动增加,以便存放所增加的字符

使用第三种构造方法创建一个StringBuffer对象,那么可以指定分配给该对象的实体的初始容量为参数字符字符串s的长度再额外增加16个字符

3. StringBuffer类常用的方法

(1)append方法

  使用StringBuffer类append方法可以将其他的Java类型数据转化为字符串后,再追加到StringBuffer对象中

 ① StringBuffer append(String s) 将一个字符串对象追加到当前StringBuffer对象中,并返回当前StringBuffer对象的引用

 ② StringBuffer append(int n) 将一个int类型转化为字符串对象之后再追加到当前的StringBuffer对象中,并返回当前StringBuffer对象的引用

 ③ StringBuffer append(Object o) 将一个Object对象o的字符串表示追加到当前StringBuffer对象中,并返回当前StringBuffer对象的引用

 类似的方法还有StringBuffer append(long n),StringBuffer append(double n),StringBuffer append(char c)等

(2)public char charAt(int n) 和public void setCharAt(int n,char ch);

public char charAt(int n)得到参数n指定的位置上的单个字符,当前对象实体中的字符串序列的第一个位置为0,第二个位置为    1...依次类推,并且n是非负的,且小于当前字符串序列的长度

  public void setCharAt(int n,char ch)将当前字符串StringBuffer对象实体中的字符串位置n处的字符串使用参数ch指定的字符替换,并且n是非负的,且小于当前字符串序列的长度

(3)StringBuffer insert(int index, String str)

  StringBuffer对象使用insert方法将参数str指定的字符串插入到参数index指定的位置,并且返回当前对象的引用

(4)public StringBuffer reverse()

  StringBuffer对象使用reverse方法将对象实体中的字符翻转,并且返回当前对象的引用

  类似的方法还有StringBuffer delete(int startIndex,int endIndex)删除字符串中从startIndex到endIndex-1索引的字符串,并且返回当前对象的引用

  StringBuffer replace(int startIndex,int endIndex,String str)使用str指定的字符串替换字符串中从startIndex到endIndex-1索引的字符串,并且返回当前对象的引用

其中有一个类与StringBuffer类似的有StringBuilder类,两个类的方法都差不多

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值