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

时间:2019-02-22 09:05:14

标签: java email time timing

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

2 个答案:

答案 0 :(得分:2)

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

更新

在交换了评论之后,我将指出,在您可以控制变量分配的情况下(例如,如果该变量有一个setter,并且您可以更改该设置方法),在这种情况下,我宁愿推荐一种类似于GhostCat发布的解决方案。

答案 1 :(得分:2)

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

  • 某种“时间感知”数据存储。换句话说:您班级中的纯字段不会这样做。就像,当您拥有import random myfruitPicked = '' fruits = "C:\users\Homer\fruits.txt" while True: randFruit = random.choice(fruits) myfruitPicked = myfruitPicked + randFruit if randFruit in myfruitPicked: print('All Fruits Already Displayed') break else: print(randFruit) ...时,无法直接在Person对象的字段上跟踪更改。换句话说:您需要编写自己的代码,告诉他们“更新键X的值” ...并且只要发生这种情况,就可以存储更改的时间戳。最简单的方法:具有存储该时间戳记的setter()方法。但是这个想法无法扩展,并且会导致糟糕的设计。
  • 定期提供服务并检查这些时间戳,然后就此做出决定的服务。

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