日期:2014-05-20  浏览次数:20937 次

如何比较两个时间的大小要精确到毫秒!
我准备测试String   StringBuffer之间的差别!刚学几个星期所以不太了解!不完整的程序如下:
import   java.util.*;
import   java.text.*;
public   class   TestStringBuffer  
{
public   static   void   main(String[]   args)  
{
StringBuffer   sb=new   StringBuffer( "abcd ");
String   s=new   String( "abcd ");

for(int   i=0;i <1000;i++){
s=s.concat( "a ");
/
}
for(int   i=0;i <1000;i++){

sb=sb.append( "b ");
}


System.out.println(sb+ "   "+s);

}
}想让各位高手把读取时间和两者之间的时间差算出来

------解决方案--------------------
StringBuffer sb=new StringBuffer( "abcd ");
String s=new String( "abcd ");

long start = System.currentTimeMillis();
for(int i=0;i <100000;i++){
s=s.concat( "a ");
}
long end = System.currentTimeMillis();
System.out.println(new Long(end-start).toString());

start = System.currentTimeMillis();
for(int i=0;i <100000;i++){
sb=sb.append( "b ");
}
end = System.currentTimeMillis();
System.out.println(new Long(end-start).toString());

结果为:
48157
31
------解决方案--------------------
System.currentTimeMillis()
------解决方案--------------------
如果你使用 System.nanoTime(); 那时间可以精确到纳秒。
------解决方案--------------------
先要明白string 与 stringbuffer 的原理.
建议先到网上查一下两者区别.
在大量字符串操作时你才会看出两者的明显区别.append小量字符串操作,stringbuffer可能比string慢