String 与StringBuffer比较

Posted watchfree

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了String 与StringBuffer比较相关的知识,希望对你有一定的参考价值。

package String比较;
/*
 * String 与StringBuffer比较
 * String 不可变,一旦赋值,就不能被修改
 * StringBuffer可变的字符串。
 * StringBuffer的追加效率更高
 */

public class Test8 {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        String str = "abc";
        str.replace("a", "b");
        System.out.println(str);// abc
        StringBuffer sbf = new StringBuffer("abc");
        sbf.replace(0, 1, "de");
        System.out.println(sbf);// debc

        String s1 = "chinasofti";
        int time = 10000;
        @SuppressWarnings("unused")
        String tempstr = "";
        long start1 = System.currentTimeMillis();
        for (int i = 0; i < time; i++) {
            tempstr += s1;
        }
        long end1 = System.currentTimeMillis();
        System.out.println("String:" + (end1 - start1) + "ms");// 876ms

        StringBuffer tempsbf = new StringBuffer();
        long start2 = System.currentTimeMillis();
        for (int i = 0; i < time; i++) {
            tempsbf.append(s1);
        }
        long end2 = System.currentTimeMillis();
        System.out.println("StringBuffer:" + (end2 - start2) + "ms");// 1ms
    }

}

 

以上是关于String 与StringBuffer比较的主要内容,如果未能解决你的问题,请参考以下文章

string与stringbuffer比较执行速度

随笔⑤ String,StringBuilder与StringBuffer类的比较

String,StringBuffer与StringBuilder的区别

测试String, StringBuilder,StringBuffer 的数据,我居然发现这些了~~

String StringBuffer StringBuilder

String类菜鸟级教程(字符串常量池及不可变,StringBuffer 和 StringBuilder)