01_常见对象(StringBuffer类的概述)
A:StringBuffer类的概述
线程安全的可变字符序列。一个类似于 String 的字符串缓冲区,但不能修改 B: StringBuffer 和 String的区别
String是一个不可变的字符序列 StringBuffer是一个可变的字符序列,线程安全的 StringBuilder是一个可变的字符序列,线程不安全的更快
02_常见对象(StringBuffer类的构造方法)
A:StringBuffer的构造方法:
publiic StringBuffer():无参构造方法 public StringBuffer(int capacity):指定容量的字符串缓冲区对象,就是指定容器的容量 public StringBuffer(String str): 指定字符串内容的字符串缓冲区对象 B:StringBuffer的方法:
public int length():返回长度(字符数)
public class Demo1_StringBuffer {
public static void main ( String[ ] args) {
StringBuffer sb = new StringBuffer ( ) ;
System. out. println ( sb. length ( ) ) ;
System. out. println ( sb. capacity ( ) ) ;
StringBuffer sb2 = new StringBuffer ( 10 ) ;
System. out. println ( sb2. length ( ) ) ;
System. out. println ( sb2. capacity ( ) ) ;
StringBuffer sb3 = new StringBuffer ( "heima" ) ;
System. out. println ( sb3. length ( ) ) ;
System. out. println ( sb3. capacity ( ) ) ;
}
03_常见对象(StringBuffe类的添加、删除功能)
A:StringBuffer的添加功能
public StringBuffer append(String str):
可以把任意类型数据添加到字符串缓冲区里面,并返回字符串缓冲区本身 public StringBuffer insert(int offset, String str):
在指定位置把任意类型的数据插入到字符串缓冲区里面,并返回字符串缓冲区本身 B:StringBuffer的删除功能
public StringBuffer deleteCharAt(int index):
public StringBuffer delete(int start, int ent):
public class Demo2_StringBuffer
public static void main ( String[ ] args) {
StringBuffer sb = new StringBuffer ( ) ;
System. out. println ( sb. toString ( ) ) ;
StringBuffer sb2 = sb. append ( true ) ;
System. out. println ( sb2. toString ( ) ) ;
StringBuffer sb3 = sb. append ( "heima" ) ;
System. out. println ( sb3. toString ( ) ) ;
StringBuffer sb4 = sb. append ( 100 ) ;
System. out. println ( sb4. toString ( ) ) ;
sb4. insert ( 3 , "xxx" ) ;
System. out. println ( sb4. toString ( ) ) ;
}
}
public class Demo2_StringBufferInsert {
public static void main ( String[ ] args) {
StringBuffer sb = new StringBuffer ( "Hello World" ) ;
System. out. println ( sb. toString ( ) ) ;
sb. insert ( 3 , "xxxx" ) ;
System. out. println ( sb. toString ( ) ) ;
}
}
public class Demo3_StringBuffer {
public static void main ( String[ ] args) {
StringBuffer sb = new StringBuffer ( ) ;
sb. append ( "heima" ) ;
sb. deleteCharAt ( 4 ) ;
sb. delete ( 0 , 2 ) ;
System. out. println ( sb) ;
sb. delete ( 0 , sb. length ( ) ) ;
System. out. println ( sb) ;
sb = new StringBuffer ( ) ;
System. out. println ( sb) ;
}
}
04_常见对象(StringBuffe类的替换、反转功能)
A:StringBuffer的替换功能
public StringBuffer replace(int start,int end,String str):
B:StringBuffer的反转功能
public StringBuffer reverse():
public class Demo4_StringBuffer {
public static void main ( String[ ] args) {
StringBuffer sb = new StringBuffer ( ) ;
sb. append ( "Hello World" ) ;
System. out. println ( sb) ;
sb. replace ( 3 , 5 , "xxx" ) ;
System. out. println ( sb. toString ( ) ) ;
System. out. println ( sb. reverse ( ) ) ;
}
}
05_常见对象(StringBuffe类的截取功能)
A:StringBuffer的截取功能,注意:返回的是String类型
public String substring(int start):
public String substring(int start,int end):
截取从指定位置开始到结束位置,包括开始位置,不包括结束位置 B:注意事项
注意:返回值类型不再是StringBuffer本身
public class Demo5_StringBuffer {
public static void main ( String[ ] args) {
StringBuffer sb = new StringBuffer ( "woaiheima" ) ;
String str = sb. substring ( 4 ) ;
System. out. println ( str) ;
String str2 = sb. substring ( 4 , 7 ) ;
System. out. println ( str2) ;
}
}
06_常见对象(StringBuffe类与String互换)
A:String – StringBuffer
B:StringBuffer – String
a:通过构造方法 b:通过toString()方法 c:通过subString(0,length)
public class Demo6_StringBuffer {
public static void main ( String[ ] args) {
StringBuffer sb = new StringBuffer ( "heima" ) ;
String s1 = new String ( sb) ;
System. out. println ( s1) ;
String s2 = sb. toString ( ) ;
System. out. println ( s2) ;
String s3 = sb. substring ( 0 , sb. length ( ) ) ;
System. out. println ( s3) ;
}
private static void demo1 ( ) {
StringBuffer sb1 = new StringBuffer ( "heima" ) ;
System. out. println ( sb1) ;
StringBuffer sb2 = new StringBuffer ( ) ;
sb2. append ( "heima" ) ;
System. out. println ( sb2) ;
}
}
07_常见对象(StringBuffe类与StringBuilder区别)
A:StringBuffe类与StringBuilder区别
StringBuilder类与StringBuffer类中的方法都一致 * StringBuffer是线程安全的,效率低 StringBuilder是线程不安全的,效率高
- 效率 安全性 - String 低 线程安全的 final类不可变的字符序列 StringBuffer 中 线程安全的 可变的字符序列 StringBuilder 高 线程不安全 可变的字符序列