繁体   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