StringBuffer()的基本使用

1.StringBuffer: 线程安全的可变字符串

  • 我们如果对字符串进行拼接操作,每次拼接都会构成一个新的String对象,既耗时,又浪费空间
  • StringBuffer可以解决这个问题。
  • 2.StringBuffer和String的区别?
  • 前者长度和内容可变,后者不可变
    *3.StringBuffer的构造方法:
    public StringBuffer():无参构造方法 public StringBuffer(int capacity):指定容量的字符串缓冲区对象
    *public StringBuffer(String str)指定字符串内容的字符串缓冲区对象
  • 4.StringBuffer()的方法:
  • public int Capacity();返回当前容量 理论值
  • public int length() 返回长度(字符数) 实际值
public class StringBufferDemo {
	public static void main(String[] args) {
		StringBuffer sb=new StringBuffer();
		System.out.println("sb:"+sb);
		System.out.println("sb.capacity():"+sb.capacity());
		System.out.println("sb.length():"+sb.length());
		System.out.println("--------------------------------");
		StringBuffer sb2=new StringBuffer(50);
		System.out.println("sb2:"+sb2);
		System.out.println("sb2.capacity():"+sb2.capacity());
		System.out.println("sb2.length():"+sb2.length());
		System.out.println("--------------------------------");
		StringBuffer sb3=new StringBuffer("hello");
		System.out.println("sb3:"+sb3);
		System.out.println("sb3.capacity():"+sb3.capacity());
		System.out.println("sb3.length():"+sb3.length());	
	}
}

在这里插入图片描述
StringBuffer的添加功能
* public StringBuffer append(String str)
* 可以把任意类型数据添加到字符串缓冲区里面,并返回字符串缓冲区本身
* public StringBuffer insert(int offset,String str)
* 在指定位置把任意类型的数据插入到字符串缓冲区里面,并返回字符串缓冲区本身

public class StringBufferDemo2 {
public static void main(String[] args) {
	StringBuffer sb=new StringBuffer();
	sb.append("hello");
	sb.append(1);
	sb.append(1.2);
	sb.append(true);
	System.out.println(sb);
	System.out.println("-------------------------");
	sb.append("hello").append(1).append(1.2).append(true);
	System.out.println(sb);
	System.out.println("-------------------------");
	sb.insert(5, 22222);
	System.out.println(sb);
}
}

在这里插入图片描述
StringBuffer的删除功能

  • public StringBuffer deleteCharAt(int index)
  • 删除指定位置字符,并返回本身
  • public StringBuffer delete(int start,int end)
  • 删除从指定位置开始,并从指定位置结束字符,并返回本身
  • 注:包左不包右

public class StringBufferDemo3 {
public static void main(String[] args) {
	StringBuffer sb= new StringBuffer();
	sb.append("hello").append("world").append("java");
	System.out.println(sb);
	sb.delete(0, 5);
	System.out.println(sb);
	sb.deleteCharAt(0);
	System.out.println(sb);
	sb.delete(0, sb.length());
	System.out.println("sb"+sb);
}
}

在这里插入图片描述
StringBuffer的截取功能:注意返回值类型不是StringBuffer

  • public String substring(int start)
  • public String substring(int start,int end)
package javase3;

public class StringBufferDemo6 {
public static void main(String[] args) {
	StringBuffer sb =new StringBuffer();
	sb.append("hello").append("world").append("java");
	System.out.println(sb);
	String s=sb.substring(5);
	System.out.println(s);
	String ss=sb.substring(5, 10);
	System.out.println(ss);
	
}
}

在这里插入图片描述
StringBuffer的替换功能
public StringBuffer replace(int start,int end,String str),从start到end用str替换

package javase3;

public class StringBufferDemo4 {
public static void main(String[] args) {
	StringBuffer sb=new StringBuffer();
	sb.append("hello").append("world").append("java");
	sb.replace( 0, 5, "啦啦啦");
	System.out.println(sb);
}
}

在这里插入图片描述
StringBuffer的反转功能:
public StringBuffer reverse()

package javase3;

public class StringBufferDemo5 {
public static void main(String[] args) {
	StringBuffer sb=new StringBuffer();
	sb.append("hello");
	sb.reverse();
	System.out.println(sb);
}
}

在这里插入图片描述

评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值