我正在开发Java
并IntelliJ
用作我的 IDE。我写了if
如下声明。
if( list1.size() >= 1 || list2.contains(itemX) ) {
//do something
}
IntelliJ
建议进行转换 ( DeMorgan's Law
) 并将其转换为:
if( ! ( list1.size() < 1 && !( list2.contains(itemX) ) ) ) {
//do something
}
因此,它应用了一种非常常见的离散数学理论来简化布尔表达式。我想知道的是这如何优化任何东西?
||
如果第一部分本身为真,则运算符无论如何都不会执行整个条件,并且仅在第一部分为假时才执行 RHS。
转化条件有效吗?如何?