我最近在发布之前从代码库中删除了一段代码,并使用if(false)语句来阻止执行:
if (false) {
ArrayList<String> list = new ArrayList<String>();
...
}
Run Code Online (Sandbox Code Playgroud)
这编译得很好并且会阻止执行有问题的代码块(对或错,这不是当前的参数).
然而,有点意外,我把上面的块改为:
while (false) {
ArrayList<String> list = new ArrayList<String>();
...
}
Run Code Online (Sandbox Code Playgroud)
并收到无法访问的语句编译错误.
我很欣赏编译错误并理解原因,但是,我很难理解这两个块之间的区别以及为什么前者编译得很好但后者在它们都有无法访问的语句时都没有.
| 归档时间: |
|
| 查看次数: |
713 次 |
| 最近记录: |