Для приведенного ниже кода Java 7,
public static boolean java8Test() {
boolean flag = true;
for(int i = 67 ; i < 79 ; i++) {
if(!testBoolean(i)) {
flag = false;
}
}
return flag;
}
Я хочу написать код Java8 для выполнения метода testBoolean для диапазона чисел от 67 до 78 (оба включительно), используя java 8 функциональность.
Кроме того, java8Test()
должен возвращать false, если testBoolean
возвращает false, однако обработка не должна останавливаться и продолжаться для всех чисел в данном диапазоне чисел.
У меня есть Я уже пробовал приведенный ниже код, но этот код останавливает выполнение метода testBoolean после того, как он вернул false, чего я не хочу. Я хочу, чтобы выполнение продолжалось и запомнил ложный флаг, который затем может вернуть метод java8Test после выполнения всего диапазона чисел
public static boolean java8Test() {
return IntStream.range(67, 78+1).anyMatch(index -> !testBoolean(index));
}
private static boolean testBoolean(int index) {
System.out.println(index + "\n");
switch(index) {
case 67 :
case 68 :
return false;
default :
return true;
}
}