Java编程-String StringBuffer StringBuilder三者比较

来源:互联网 发布:穆斯林女性地位知乎 编辑:程序博客网 时间:2024/05/16 05:15
      String 字符串常量
      StringBuffer 字符串变量(线程安全)

      StringBuilder 字符串变量(非线程安全)

      以下是三种类型的追加操作代码。

public static void test4(){String text = "" ;           long beginTime = System.currentTimeMillis();           for ( int i= 0 ;i< 100000 ;i++)                 text = text + i;           long endTime = System.currentTimeMillis();           System.out.println("执行时间:" +(endTime-beginTime));           StringBuffer sb1 = new StringBuffer ( "" );           beginTime = System.currentTimeMillis();           for ( int i= 0 ;i< 100000 ;i++)                  sb1.append(String.valueOf(i));           endTime = System.currentTimeMillis();           System.out.println("执行时间:" +(endTime-beginTime));                StringBuilder sb = new StringBuilder ( "" );           beginTime = System.currentTimeMillis();           for ( int i= 0 ;i< 100000 ;i++)                  sb.append(String.valueOf(i));           endTime = System.currentTimeMillis();           System.out.println("执行时间:" +(endTime-beginTime));        }

执行时间:38134
执行时间:22
执行时间:10

在此可以看出单线程运行时,StringBuilder的性能最好。

         1.如果要操作少量的数据用 = String

    2.多线程操作字符串缓冲区 下操作大量数据 = StringBuffer

    3.单线程操作字符串缓冲区 下操作大量数据 = StringBuilder

0 0
原创粉丝点击