While(false) 导致无法访问的语句编译错误
2022-09-04 03:01:50
我最近在发布之前从我们的代码库中删除了一个代码块,并使用if(false)语句来防止执行:
if (false) {
ArrayList<String> list = new ArrayList<String>();
...
}
这可以很好地编译,并且可以防止执行有问题的代码块(对或错,这不是当前参数)。
但是,有点偶然,我将上面的块更改为:
while (false) {
ArrayList<String> list = new ArrayList<String>();
...
}
并收到无法访问的语句编译错误。
我很欣赏编译错误并理解原因,但是,我正在努力理解两个块之间的区别,以及为什么前者编译良好,但后者在它们都有无法访问的语句时却没有。