当前位置: 代码迷 >> java >> 如果变量的值在过去24小时内没有变化
  详细解决方案

如果变量的值在过去24小时内没有变化

热度:34   发布时间:2023-08-02 11:09:51.0

我想运行一种将通知电子邮件发送给Java用户的方法。 但是,如何告诉程序“如果变量的值在过去24小时内没有变化,则运行该方法”?

简短的答案:您不能。 您可以做的是保存变量值的副本,安排要定期执行的任务,将变量的值与您保存的值进行比较,如果不同则调用该方法,然后保存新值。

更新

经过交换意见后,我将指出,在可以控制对变量的分配的情况下(例如,如果该变量有一个setter,并且您可以更改该setter的代码),我不建议您使用该解决方案。 ,在这种情况下,我宁愿推荐一种类似于GhostCat发布的解决方案。

简单:为此编写代码。 您将需要什么:

  • 某种“时间感知”数据存储。 换句话说:您班级中的纯字段不会这样做。 就像,当您有class Person { String lastName ... ...时,无法直接在Person对象的字段上跟踪更改。 换句话说:您需要编写自己的代码,告诉他们“更新键X的值” ...并且只要发生这种情况,就可以存储更改的时间戳。 最简单的方法:具有存储该时间戳记的setter()方法。 但是这个想法无法扩展,并且会导致糟糕的设计。
  • 定期出现并检查这些时间戳的服务,然后就此做出决策。

提示:考虑到您的问题非常广泛且不确定,请不要期待出现更具体的答案(甚至代码)。

  相关解决方案