StringBuffer和StringBuider
强调一下,这不是技术解答文档,是我自己的笔记
String 的值是不可变的,每次对String的操作都会生成新的String对象,不仅效率低,而且耗费大量内存空间。
StringBuffer类和String类一样,也用来表示字符串,但是StringBuffe的内部实现方式和String不同,在进行字符串处理时,不生成新的对象,在内存使用上要优于String。
其中,StringBuffer类偏重于对字符串的操作,例如,追加、插入、删除等,在项目中遇到字符串操作较多时,最好使用StringBuffer。
StringBuffer类的使用方法包括:
1. append()方法,追加,和String类中的 ‘+’ 类似。
2. deleteCharAt()方法和delete()方法,删除指定位置的字符或字符串。
3. insert()方法,可以在指定位置插入字符。
4. setCharAt()方法,用来修改指定位置的字符。
5. 测试代码如下:
//StringBuffer和StringBuider
public class Demo032002{
public static void main(String [] args){
//定义
StringBuffer str1 = new StringBuffer();//默认分配16字节长度的缓冲区
StringBuffer str2 = new StringBuffer(510);//指定510字节缓冲区
StringBuffer str3 = new StringBuffer("HelloWorld");//指定内容
//str1 = "java StringBuffer";
//str2 = "helewodnskdsldslhfslkdfjskdfklsajfk";
System.out.println("str1 = " + str1 + "heldk");//str1 NULL
System.out.println("str3 = " + str3);
//StringBuffer类的主要方法
//偏重于对字符串的操作,例如,追加、插入、删除等
//开发中需要对字符串进行频繁的操作,最好使用StringBuffer
//1. append()方法,//追加
StringBuffer str4 = new StringBuffer( "hello world") ;
System.out.println("str4 = " + str4);
str4.append(" java");
System.out.println( "str4(append() ) = " + str4 );
//2. deleteCharAt()方法,删除指定位置的字符
StringBuffer str5 = new StringBuffer("abcdefghijklmnop" );
System.out.println( "str5 = " + str5 );
str5.deleteCharAt(1);
System.out.println( "str5(deleteCharAt(1) ) = " + str5 );
str5.delete(1,4);
System.out.println( "str5(delete(1,4) ) = " + str5 );
//3.insert()方法,可以在指定位置插入字符
StringBuffer str6 = new StringBuffer("hello");
System.out.println( "str6 = " + str6 );
str6.insert(3,'q');
System.out.println( "str6(insert) = " + str6 );
//4.setCharAt()方法,用来修改指定位置的字符
StringBuffer str7 = new StringBuffer( "helloworld" );
System.out.println( "str7 = " + str7 );
str7.setCharAt(5,'W');
System.out.println( "str7(setCharAt() ) = " + str7 );
}
}