[英]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.