StringBuffer类的概述:
线程安全的可变字符序列
StringBuffer和String的区别:
String是一个不可变的字符序列
StringBuffer是一个可变的字符序列
StringBuffer类的常用方法:
构造方法:
public StringBuffer():无参构造方法
public StringBuffer(int capacity):指定容量的字符串缓冲区对象
public StringBuffer(String str):指定字符串内容的字符串缓冲区对象
StringBuffer的方法:
public int capacity():返回当前容量(理论值)
public int length():返回长度(字符数)
案例一: public class Demo1_StringBuffer { publicstatic void main(String[] args) { StringBuffersb = new StringBuffer(); System.out.println(sb.length());//容器中的字符个数,实际值 System.out.println(sb.capacity());//容器中的初始容量,理论值 StringBuffersb2 = new StringBuffer(10); System.out.println(sb2.length()); System.out.println(sb2.capacity()); StringBuffersb3 = new StringBuffer("haha"); System.out.println(sb3.length()); System.out.println(sb3.capacity()); } } 添加功能: public StringBuffer append(String str):可以把任意类型数据添加到字符串缓冲区里面,并返回字符串缓冲区本身 public StringBuffer insert(intoffset,String str):在指定位置把任意类型的数据插入到字符串缓冲区里面,并返回字符串缓冲区本身。 案例二: /** * StringBuffer是字符串缓冲区,当new的时候是在堆内存创建了一个对象, * 底层是一个长度为16的字符数组 当调用添加的方法时,不会再重新创建对象,在不断向原缓冲区添加字符 */ public class Demo2_StringBuffer { publicstatic void main(String[] args) { demo1(); } privatestatic void demo1(){ StringBuffersb =new StringBuffer(); StringBuffersb2 = sb.append(true); StringBuffersb3 = sb.append("HelloWorld"); StringBuffersb4= sb.append(100); System.out.println(sb.toString()); //StringBuffer类中重写了toString的方法,显示的是对象中的属性值 System.out.println(sb2.toString()); System.out.println(sb3.toString()); System.out.println(sb4.toString()); } }
|