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有多大优势?
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有多大优势?
for(int i=0;i<10000;i++)
试试
可是总有人说直接把String对象相加效率会低很多,但StringBuffer要预先分配很大一块内存的呀?
{
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
不知道内部到底有什么差别
既然你知道String s = "";
那么直接用
StringBuffer sb = new StringBuffer();
不就够了??