JavaSE_基础库类_StringBuffer类

StringBuffer类和String类一样都是用来代表字符串,只是由于StringBuffer的内部实现方式和String不同,所以在处理字符串时不会生成新的对象,在内存使用上要由于String类。

String类在对字符串进行修改时会新建String类,对内存开销很大,所以如果经常对字符串进行修改、删除、插入等操作时更推荐用StringBuffer类。

对StringBuffer进行修改时都会改变原本的对象。

StringBuffer类和String类的很多的方法都是一样的且用法也相同。

1) StringBuffer类的初始化

2) StringBuffer类和String类相互转换

3) StringBuffer类的一些方法


一、StringBuffer类的初始化

用构造器构建对象

<span style="font-family:KaiTi_GB2312;font-size:14px;">StringBuffer strBuf1 = new StringBuffer();
StringBuffer strBuf2 = new StringBuffer("abc");</span>



二、StringBuffer类和String类相互转换

StringBuffer类和String类不同所以不能直接进行转换。

<span style="font-family:KaiTi_GB2312;font-size:14px;">StringBuffer s1 = "abc";                  //error
StringBuffer s2 = (StringBuffer)"abc";    //error
String sb1 = "abc";
StringBuffer sb2 = new StringBuffer("123");
StringBuffer sb3 = new StringBuffer(sb1);    //String转StringBuffer
String sb4 = sb3.toString();                 //StringBuffer转String</span>


三、StringBuffer类的一些方法

1)     public StringBuffer append(...);

追加内容到StringBuffer之后,类似于字符串的连接。

<span style="font-family:KaiTi_GB2312;font-size:14px;">StringBuffer sb1 = new StringBuffer("abc");
sb1.append("123");
System.out.println(sb1.toString());   //abc123</span>
此类拼接方法比String更加简洁高效,比如我们在对SQL进行操作时可以这样写。

<span style="font-family:KaiTi_GB2312;font-size:14px;">String TableName = "PersonInfo";
StringBuffer sb = new StringBuffer();
sb.append("SELECT * FROM ").append(TableName);
System.out.println(sb);    //"SELECT * FROM PersonInfo"</span>


2)     public StringBuffer deleteCharAt(int index);  删除指定位置的索引,若index=1则删除字符串的第二个字符

public StringBuffer delete(int startIndex, int endIndex);  删除指定区间的字符串,删除的内容包含startIndex、不包含endIndex。

<span style="font-family:KaiTi_GB2312;font-size:14px;">StringBuffer sb1 = new StringBuffer("MyJob");
sb1.deleteCharAt(2);  //Myob
sb1.delete(1, 3);     //Mb</span>



3)     public StringBuffer insert(int offset, Object b); 该方法作用是对StringBuffer插入字符串。插入的位置从offset前一位,第二个参数为插入的内容。

<span style="font-family:KaiTi_GB2312;font-size:14px;">StringBuffer sb1 = new StringBuffer("MyJob");
sb1.insert(2, "123"); //My123Job</span>


4)     public StringBuffer reverse(); 该方法是将StringBuffer内容进行反转形成新的字符串。

<span style="font-family:KaiTi_GB2312;font-size:14px;">StringBuffer sb1 = new StringBuffer("MyJob");
sb1.reverse();   //boJyM </span>



5)     public StringBuffer setCharAt(int index, char ch);  将字符串index索引出的字符改为ch。

<span style="font-family:KaiTi_GB2312;font-size:14px;">StringBuffer sb1 = new StringBuffer("MyJob");
sb1.setCharAt(1, 'M');  //MMJob</span>


6)     public void trimToSize();

该方法的作用是将StringBuffer对象中的存储空间缩小到和字符串一样的长度,减少空间浪费。









  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值