我想要一个允许我调用的计时器类:
.start()
.getElapsedTime()
.stop()
.reset()
Java是否有这样的类,或者我是否需要使用自己的类(我已经写过)。
从最佳实践的角度来看,如果它们存在,我应该使用Java类库类,但我不确定这个类是否存在。
任何人都可以给我一个指向这个类的javadoc的链接,如果它存在的话吗?
答案 0 :(得分:2)
Apache Commons Lang中有一个StopWatch
类。
要启动手表,请致电
start()
。此时你可以:
split()
手表可以让手表在后台继续播放。unsplit()
会删除split
的效果。此时,这三个选项再次可用。suspend()
手表暂停它。resume()
允许手表继续。suspend
和resume
之间的任何时间都不计入总数中。此时,这三个选项再次可用。stop()
手表完成计时会话。输出方法
toString()
和getTime()
只应在stop
,split
或suspend
之后调用,但是合适的结果将是在其他地方返回。
org.apache.commons.lang.time.StopWatch
是的,绝对你应该尽可能地尝试使用好的库,而不是重新发明轮子。精心设计,编写良好,经过良好测试的库的价值是无法克服的,Java有很多。它获得的用户越多,它就越成熟,任何扭结通常都会很快得到修复。
答案 1 :(得分:1)
Java有一个Timer类,但我想您正在寻找StopWatch或Chronometer。网络中有许多可用的实现。
答案 2 :(得分:-1)
关于java.util.Timer.scheduleAtFixedRate(),请注意以下错误:http://bugs.sun.com/view_bug.do?bug_id=4290274