Я не верю, что есть какая-то часть Стандартных библиотек Java, которая обеспечивает именно эту функцию.
В некоторых языках они предоставляются в виде функций, называемых anyOf
(для or
) или allOf
(для and
). Возможно, вам повезет в поиске библиотек Java, реализующих эти функции.
Примечание. Код, который вы здесь видите, может быть немного оптимизирован. Обратите внимание, что если вы вычисляете AND для многих логических значений, как только вы найдете значение false
, вы можете остановиться и сказать, что ответ - false
. Точно так же, если вы вычисляете OR для логических значений, вы можете остановиться, как только найдете значение true
, поскольку ответом будет true
. По сути, это обобщение оценки короткого замыкания на списки объектов и поведение некоторых версий and
и or
в таких языках, как Scheme. Это дает следующее:
public class ModifiedBooleans3 {
private ModifiedBooleans3(){}
public static boolean and(Iterable<Boolean> booleans) {
for (Boolean boolRef : booleans)
if (!boolRef)
return false;
return true;
}
public static boolean or(Iterable<Boolean> booleans) {
for (Boolean boolRef : booleans)
if (boolRef)
return true;
return false;
}
}
Надеюсь, это поможет!