(编译器) else if(true) vs else scenario
2022-09-02 00:52:09
采用以下 Java 代码片段:
....
else if (true){ //hard-coded as true
///launch methodA
}
else {
///launch methodA (same code as in the ` else if ` statement)
}
....
我想知道的是编译器如何处理这个问题。编译器完全删除该语句以不必执行检查,即使它被硬编码为true,这难道不是合乎逻辑的吗?特别是在Eclipse中,如何解释上面的代码?else if(true)
或者在以下情况下呢:
....
else if (true){ //hard-coded as true
///launch methodA
}
else {
///launch methodBB
}
....
在这种情况下,编译器删除该语句难道不是合乎逻辑的吗?因为在运行时,该语句是无法访问的。else
else