我想要一个允许我调用的计时器类:
.start()
.getElapsedTime()
.stop()
.reset()
Java是否有这样的类,或者我需要使用我自己的(我已经写过)。
从最佳实践的角度来看,如果存在 Java 类库类,我应该使用它们,但我不确定这个是否存在。
任何人都可以给我一个指向这个类的javadoc的链接,如果它存在的话?
我想要一个允许我调用的计时器类:
.start()
.getElapsedTime()
.stop()
.reset()
Java是否有这样的类,或者我需要使用我自己的(我已经写过)。
从最佳实践的角度来看,如果存在 Java 类库类,我应该使用它们,但我不确定这个是否存在。
任何人都可以给我一个指向这个类的javadoc的链接,如果它存在的话?
Apache Commons Lang 中有一个StopWatch
类。
要启动手表,请调用
start()
。此时您可以:
split()
手表在后台继续运行时获取时间。unsplit()
将删除split
. 此时,这三个选项再次可用。suspend()
手表暂停它。resume()
允许手表继续。suspend
和之间的任何时间resume
都不会计入总数。此时,这三个选项再次可用。stop()
手表完成计时会话。输出方法
toString()
和getTime()
应该只在stop
,split
或之后调用suspend
,但是在其他点将返回合适的结果。
是的,你绝对应该尽可能地尝试使用好的库,而不是重新发明轮子。一个设计良好、编写良好、测试良好的库的价值是不可逾越的,Java 有很多。它获得的用户越多,它就越成熟,任何问题通常都会很快得到解决。
Java 有一个Timer类,但我想您正在寻找一个StopWatch或一个Chronometer。网络中有许多可用的这些实现。
About java.util.Timer.scheduleAtFixedRate(), be aware of this bug: http://bugs.sun.com/view_bug.do?bug_id=4290274