java.util.concurrent.TimeUnit 这个类,相信童鞋们都不陌生。它是一个enum:
public enum TimeUnit
好吧,我一直把它当做一个枚举类来用。偶然看到还有别的用法,大吃一斤,原来 TimeUnit 并不是一个简单的枚举类。
时间单位换算
代码语言:javascript复制//小时转换为秒
long sec = TimeUnit.HOURS.toSeconds(1);
// 另一种形式
long sec = TimeUnit.SECONDS.convert(1, TimeUnit.HOURS);
sleep()
比如,当前线程休眠5秒,传统的方式如下:
代码语言:javascript复制Thread.sleep(5000);
用TimeUnit看起来是这样的:
代码语言:javascript复制TimeUnit.SECONDS.sleep(5);
如果休眠1天呢?(有点扯淡,仅为说明问题),传统的方式:
代码语言:javascript复制Thread.sleep(1000*60*60*24);
对不对呢?得掰着手指头 —— 看半天,用TimeUnit就清晰多了。
代码语言:javascript复制TimeUnit.DAYS.sleep(1);