java学习日记20160320

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 );

    }
}

你可能感兴趣的:(java)