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();

07-26 04:24