初识StringBuffer类

StringBuffer类

 

A:StringBuffer类

* 线程安全的可变字符序列。一个类似于 String 的字符串缓冲区,但不能修改(用+好改变)。 * 但通过某些方法调用可以改变该序列的长度和内容  
B:StringBuffer和String的区别
	* String是一个不可变的字符序列
	* StringBuffer是一个可变的字符序列 


StringBuffer类的构造方法

A:StringBuffer的构造方法:

* public StringBuffer():无参构造方法 * 构造一个其中不带字符的字符串缓冲区,初始容量为 16 个字符。 *每个字符串缓冲区都有一定的容量。只要字符串缓冲区所包含的字符序列的长度没有超出此容量,就无需分配新的内部缓冲区数组。 *如果内部缓冲区溢出,则此容量自动增大。从 JDK 5 开始,为该类补充了一个单个线程使用的等价类,即 StringBuilder。 *与该类相比,通常应该优先使用 StringBuilder 类,因为它支持所有相同的操作,但由于它不执行同步,所以速度更快。   * * public StringBuffer(int capacity):指定容量的字符串缓冲区对象 * public StringBuffer(String str):指定字符串内容的字符串缓冲区对象 * StringBuffer(CharSequence seq)            public java.lang.StringBuilder(CharSequence seq)  多态,父类引用指向子类对象           构造一个字符串缓冲区,它包含与指定的 CharSequence 相同的字符。

B:StringBuffer的方法:

* public int capacity():返回当前容量。 理论值 * public int length():返回长度(字符数)。 实际值


public class strtest {
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		StringBuffer sb = new StringBuffer();
		System.out.println(sb.length());//容器中的字符个数,实际值 0
		System.out.println(sb.capacity());//容器的初始容量,理论值16
		
		StringBuffer sb2 = new StringBuffer(10);
		System.out.println(sb2.length());//0
		System.out.println(sb2.capacity());//10
		
		StringBuffer sb3 = new StringBuffer("heima");
		System.out.println(sb3.length());//实际字符的个数5
		System.out.println(sb3.capacity());//字符串的length+初始容量 16 21

	}

}



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值