簡體   English   中英

如何為時間睡眠創建Java實用程序類

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM