gpt4 book ai didi

java - 重复 Stream allMatch() 直到 true

转载 作者:搜寻专家 更新时间:2023-10-30 21:02:43 24 4
gpt4 key购买 nike

int testValue;
boolean success = false;

while(success == false) {
testValue = generateRandomInt();
success = mySystem.getHosts().parallelStream().allMatch(predicate(testValue));
}

return testValue;

我正在玩 java8 流。您有什么建议可以使上面的代码更优雅/更易读?

最佳答案

您可以使用无限的 IntStream 代替 while 循环,并返回与您的条件匹配的流的第一个 int:

return IntStream.generate (() -> generateRandomInt())
.filter (i -> mySystem.getHosts().parallelStream().allMatch(predicate(i)))
.findFirst()
.getAsInt();

关于java - 重复 Stream allMatch() 直到 true,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44241290/

24 4 0