14.6 StringBuffer 字符串缓冲区

StringBuffer类概述:

StringBuffer又称为可变字符序列,它是一个类似于 String 的字符串缓冲区,通过某些方法调用可以改变该序列的长度和内容。

StringBuffer是个字符串的缓冲区,即就是它是一个容器,容器中可以装很多字符串。并且能够对其中的字符串进行各种操作。


StringBuffer的方法使用:


/*
*  StringBuffer类方法
*   StringBuffer append, 将任意类型的数据,添加缓冲区
*  
append 返回值,写return this
*   调用者是谁,返回值就是谁
*/

public static void function(){
StringBuffer buffer = new StringBuffer();
//调用StringBuffer方法append向缓冲区追加内容
buffer.append(6).append(false).append('a').append(1.5);
System.out.println(buffer);
}


/*
* StringBuffer类方法
*  
delete(int start,int end) 删除缓冲区中字符
*   开始索引包含,结尾索引不包含
*/

public static void function_1(){
StringBuffer buffer = new StringBuffer();
buffer.append("abcdef");

buffer.delete(1,5);
System.out.println(buffer);
}


/*
*  StringBuffer类方法 insert
*    
insert(int index, 任意类型)
*  将任意类型数据,插入到缓冲区的指定索引上
*/
public static void function_2(){
StringBuffer buffer = new StringBuffer();
buffer.append("abcdef");  
 
buffer.insert(3, 9.5);
System.out.println(buffer);
}


/*
*  StringBuffer类方法
*  
 replace(int start,int end, String str)
*    将指定的索引范围内的所有字符,替换成新的字符串
*/
public static void function_3(){
StringBuffer buffer = new StringBuffer();
buffer.append("abcdef");

buffer.replace(1, 4, "Q");

System.out.println(buffer);
}


/*
*  StringBuffer类的方法
*    
reverse() 将缓冲区中的字符反转
*/

public static void function_4(){
StringBuffer buffer = new StringBuffer();
buffer.append("abcdef");

buffer.reverse();

System.out.println(buffer);
}


/*
*  StringBuffer类的方法
*   String
toString() 继承Object,重写toString()
*   将缓冲区中的所有字符,变成字符串
*/

public static void function_5(){
StringBuffer buffer = new StringBuffer();
buffer.append("abcdef");
buffer.append(12345);

//将可变的字符串缓冲区对象,变成了不可变String对象
String s = buffer.toString();
System.out.println(s);
}


StringBuffer练习:

public class StringBufferTest {
public static void main(String[] args) {
int[] arr = {4,1,4,56,7,8,76};
System.out.println(toString(arr));
}
   /*
    * int[] arr = {34,12,89,68};将一个int[]中元素转成字符串 
    * 格式 [34,12,89,68]
    * String s = "["
    * 数组遍历
    *   s+= arr[i];
    *  s+"]"
    *  StringBuffer实现,节约内存空间, String + 在缓冲区中,append方法
    */

public static String toString(int[] arr){
//创建字符串缓冲区
StringBuffer buffer = new StringBuffer();
buffer.append("[");
//数组遍历
for(int i = 0 ; i < arr.length;i++){
//判断是不是数组的最后一个元素
if(i == arr.length-1){
buffer.append(arr[i]).append("]");
}else{
buffer.append(arr[i]).append(",");
}
}
return buffer.toString();
}
}


StringBuilder类:

阅读StringBuilder的API说明发现,它也是一个可变的字符序列。此类提供一个与 StringBuffer 兼容的 API,但不保证同步。该类被设计用作 StringBuffer 的一个简易替换,用在字符串缓冲区被单个线程使用的时候(这种情况很普遍)。如果可能,建议优先采用该类,因为在大多数实现中,它比 StringBuffer 要快。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值