如何比较两个cron表达式。 我们有一个条件,比如我们需要比较两个cron表达式,并且需要检查两者是否相等
例如: “0 0/1 * 1/1 *?*”=“0 0/1 * 1/1 *?*”然后我需要继续 否则需要抛出错误。
答案 0 :(得分:1)
我猜你可以选择这样的东西:
String str1 = "0 0/1 * 1/1 * ? *";
String str2 = "0 0/1 * 1/1 * ? *";
if (str1.equals(str2)) {
// do what you want
} else {
throw new Exception("Strings do not match");
}
答案 1 :(得分:0)
这个问题是有效的,尽管这个例子很糟糕。请考虑以下情况:
cron1 = "* * * * MON"//unix
cron2 = "*/1 * * * 1"//unix
cron3= "0 * * * *"//unix
cron4="0 * * * * MON *"//quartz
//now we compare crons
cron1.equivalent(cron2) -> true
cron1.equivalent(cron3) -> false
cron1.equivalent(cron4) -> true
如果您正在寻找一些允许您进行此类比较的库,请查看cron-utils
解析cron表达式后,将创建一个Cron对象,该对象具有比较crons的方法。