您的位置:首页 > 产品设计 > UI/UE

Java编程-String StringBuffer StringBuilder三者比较

2015-04-24 14:16 330 查看
      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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: