比如我们写下代码:
boolean one = isOne();
boolean two = isTwo();
if (one && two) {
...
} else if (one && !two) {
...
} else {
...
}
这里逻辑有问题吗?
其实这里运行没有问题代码确实有问题的,第二个分支的two一定是false
if (one && two) {
...
} else if (one) {
...
} else {
...
}
当然as会有提示,其实主要还是&& || 运算符逻辑和自己思维的问题,设计类似问题,可以多思量一下