使用StopWatch类来计时

ZDNet软件频道 时间:2003-01-09 作者:BUILDER.COM |  我要评论()
本文关键词:javatips
调试器是一个繁重的东西,使用调试器并不总是最有效的方法;有时,你可能想对代码进行一些小的调试和跟踪。一个简单的StopWatch类就是提供了一种好的计时解决方案。

调试器是一个繁重的东西,使用调试器并不总是最有效的方法;有时,你可能想对代码进行一些小的调试和跟踪。一个简单的StopWatch类就是提供了一种好的计时解决方案。

package com.generationjava.test;
/**
* 在调试或者测试情形下需要计时非常有用
*/

public class StopWatch {
static public int AN_HOUR = 60 * 60 * 1000;
static public int A_MINUTE = 60 * 1000;
;private long startTime = -1;
private long stopTime = -1;
/**
;* 启动秒表
*/

public void start() {
this.startTime =System.currentTimeMillis();
}
/**
* 停止秒表
*/

public void stop() {
this.stopTime =System.currentTimeMillis();
}

/**
* 重置秒表
*/

public void reset() {
this.startTime = -1;
this.stopTime = -1;
}
/**
* 分割时间
*/

public void split() {
this.stopTime =System.currentTimeMillis();
}
/**
* 移除分割
*/

public void unsplit() {
this.stopTime = -1;
}
/**
* 获得秒表的时间,这个时间或者是启动时和最后一个分割时刻的时间差,
* 或者是启动时和停止时的时间差,或者是启动时和这个方法被调用时的差
*/

public long getTime() {
if(stopTime != -1) {
return(System.currentTimeMillis() - this.startTime);
} else {
return this.stopTime - this.startTime;
}
}
public String toString() {
return getTimeString();
}
/**
* 取得String类型的时间差
* 形式为小时,分钟,秒和毫秒
;*/

public String getTimeString() {
int hours, minutes, seconds,milliseconds;
long time = getTime();
hours = (int) (time / AN_HOUR);
time = time - (hours *AN_HOUR);
minutes = (int) (time / A_MINUTE);
time = time - (minutes *A_MINUTE);
seconds = (int) (time / 1000);
time = time - (seconds * 1000);
milliseconds = (int) time;
return hours + "h:" +minutes + "m:"_ + seconds + "s:" + milliseconds +
}


百度大联盟认证黄金会员Copyright© 1997- CNET Networks 版权所有。 ZDNet 是CNET Networks公司注册服务商标。
中华人民共和国电信与信息服务业务经营许可证编号:京ICP证010391号 京ICP备09041801号-159
京公网安备:1101082134