[英]How to create a java utility class for time sleep
我想用一个预定义的时间在Java中创建一个用于睡眠的实用程序类,我想在另一个调用中调用它。
例如实际上我有:我的实用程序类:
public static void waitFor(int sec) {
try {
Thread.sleep(sec * 1000L);
} catch (Exception e) {
System.out.println(e.toString());
}
}
有了这个类,我可以使用Utility.waitFor(20);方法。 在另一个类中,它可以完美地工作。
我想要的是在Utiliy类中启动时间,例如20秒,然后调用Utility.waitFor();方法。 我不想把时间放在第二堂课的括号内。
因为将来如果我要修改时间,我将不必遍历所有代码并更改时间。 如果我将时间固定在实用程序类中,那么它将在任何地方都适用
谢谢你的帮助
在实用程序类中,添加一个可以设置的static int
:
class Utility
{
private static int sleepTime = 20;
public static void setSleepTime( int time ){ sleepTime = time; }
public static void waitFor(){
try {
Thread.sleep(sleepTime * 1000L);
} catch (Exception e) {
System.out.println(e.toString());
}
}
}
然后,在其他位置,您想更改其等待时间时,只需调用Utility.setSleepTime()
。
因为将来如果我要修改时间,我将不必遍历所有代码并更改时间。 如果我在实用程序类中确定时间,那么它将在任何地方都有效。
这完全是对比声明,您现在的操作方式是正确的选择。
1)如果一直都一样,则直接输入方法即可。 2)否则,您必须打发时间。
没有其他选择,至少对我来说也没有意义:)
我建议的只是维护要作为参数传递的常量,您只需要每次编辑该常量。
例如:
public static final long TIME_FOR_THAT = 10;
public static final long TIME_FOR_THIS = 20;
而在打电话时
setSleepTime(Timings.TIME_FOR_THAT);
瞧,一切都在一个地方。 只需在一个文件中编辑您的时间即可。 甚至您也可以通过属性文件将其外部化,甚至可以从配置端进行维护:)
为什么不创建想要等待的时间,然后在需要时让自己更改。
public class Utility {
int secsToWait;
public Utility(int secsToWait) {
this.secsToWait = secsToWait;
}
// So you can change it later, after creation, if you need to
public void setTime(int seconds) {
secsToWait = seconds;
}
public void wait() {
try {
Thread.sleep(secsToWait);
} catch (Exception e) {
System.out.println(e.toString());
}
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.