|
|
@@ -29,13 +29,26 @@ public class DelayedItem<T> implements Delayed {
|
|
|
}
|
|
|
|
|
|
|
|
|
+ /**
|
|
|
+ * 获取过期时间
|
|
|
+ *
|
|
|
+ * @param unit the time unit
|
|
|
+ * @return
|
|
|
+ */
|
|
|
@Override
|
|
|
public long getDelay(@NotNull TimeUnit unit) {
|
|
|
return unit.convert(delayTime.toInstant(ZoneOffset.ofHours(+8)).toEpochMilli() - System.currentTimeMillis(), TimeUnit.MILLISECONDS);
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 比较排序
|
|
|
+ *
|
|
|
+ * @param o the object to be compared.
|
|
|
+ * @return
|
|
|
+ */
|
|
|
@Override
|
|
|
public int compareTo(@NotNull Delayed o) {
|
|
|
- return (int) (getDelay(TimeUnit.MILLISECONDS) - o.getDelay(TimeUnit.MILLISECONDS));
|
|
|
+ var flag = getDelay(TimeUnit.MILLISECONDS) - o.getDelay(TimeUnit.MILLISECONDS);
|
|
|
+ return flag > 0 ? 1 : flag < 0 ? -1 : 0;
|
|
|
}
|
|
|
}
|