String 与 StringBuffer类--------------------------
String sb = "hello";
       sb = sb + "world";------------------------
        StringBuffer sb = new StringBuffer();
        sb.append("hello");
        sb.append(" world");
        System.out.println(sb.toString());
-----------------
在JDK1.5,StringBuffer比String有多大优势?

解决方案 »

  1.   

    自己
    for(int i=0;i<10000;i++)
    试试
      

  2.   

    个人调试的时候,明显感觉在StringBuffer.append()方法都会卡一下
    可是总有人说直接把String对象相加效率会低很多,但StringBuffer要预先分配很大一块内存的呀?
      

  3.   

    StringBuffer处理的方法要多很多,而且很方便
      

  4.   

    private static void check()
        {
            String str = "abc";
            StringBuffer stb = new StringBuffer("abc");        long time = System.currentTimeMillis();
            for (int i = 0; i < 10000; i++)
            {
                str = str + "tt";
            }        System.out.println(System.currentTimeMillis() - time);
            time = System.currentTimeMillis();        for (int i = 0; i < 10000; i++)
            {
                stb.append("tt");
            }
            System.out.println(System.currentTimeMillis() - time);
        }
    ====================
    的确速度不在一个等级:上面的输出如下: (多运行几次,结果大致差不多)
    701
    10
    不知道内部到底有什么差别
      

  5.   

    在jdk5.0里面这样的测试如果用 StringBuilder 比 Stringbuffer 还要快不少
      

  6.   

    请问StringBuffer如何一次性清空所有的内容?就像string = ""的效果.
      

  7.   

    没有直接清空的方法
    既然你知道String s = "";
    那么直接用
    StringBuffer sb = new StringBuffer();
    不就够了??
      

  8.   

    StringBuffer个改来改去方便,String改来改去不方便 我就知道这些。