读书人

怎么比较两个时间的大小要精确到毫秒

发布时间: 2011-12-29 22:09:38 作者: rapoo

如何比较两个时间的大小要精确到毫秒!
我准备测试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慢

读书人网 >J2SE开发

热点推荐