При первом взгляде на это логическое выражение можно получить одно из двух:
case1 or case2 or case3 case1 || case2 || case3
not case1 and not case2 and not case3 !case1 && !case2 && !case3
Так что, увидев
!case1 || !case2 || !case3
один из 99,9% случаев может сказать: неправильно. По крайней мере один термин является истинным, следовательно, выражение является истинным.
Вы можете сократить код как:
if (!Set.of(program1, program2, program3).contains(requiredProgram)) {
Старая версия Java, менее эффективная и значимая:
if (!Arrays.asList(program1, program2, program3).contains(requiredProgram)) {