gpt4 book ai didi

java - 在循环中运行 lambda

转载 作者:行者123 更新时间:2023-12-01 16:45:47 26 4
gpt4 key购买 nike

我通过提供瞬间时间来创建事件。

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?

最佳答案

您可以使用IntStream.range来实现此目的

IntStream.range(0, 7)
.forEach(i -> serviceContainer.consumeEvent(event ->
event.setPayload(new TriggerCalculation(Instant.ofEpochMilli(serviceContainer.currentTimeMillis()).plus(i, ChronoUnit.DAYS)
))));

关于java - 在循环中运行 lambda,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51490413/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com