【发布时间】:2018-07-24 04:20:59
【问题描述】:
我通过提供Instant 的时间来创建一个事件。
serviceContainer.consumeEvent(event ->
event.setPayload(new TriggerCalculation(Instant.ofEpochMilli(serviceContainer.currentTimeMillis())
)));
但是,我想为Instant 添加一个固定的时间间隔,并使用新的Instant 创建一个新事件。
serviceContainer.consumeEvent(event ->
event.setPayload(new TriggerCalculation(Instant.ofEpochMilli(serviceContainer.currentTimeMillis()).plus(1, ChronoUnit.DAYS)
)));
但是,我不能在 for 循环中执行此操作,因为索引 i 必须是最终的:
for(int i=1; i<7; i++){
serviceContainer.consumeEvent(event ->
event.setPayload(new TriggerCalculation(Instant.ofEpochMilli(serviceContainer.currentTimeMillis()).plus(i, ChronoUnit.DAYS)
)));
}
如果我想在 lambda 中增加一个值,如何在 java 中循环一个 lambda?
【问题讨论】:
-
将
i分配给前一行中的另一个变量,并在 lambda 中使用它。 -
你可以在 lambda 之外创建一个最终的
TriggerCalculation