if(false)vs.while(false):无法访问的代码与死代码
我在Eclipse中尝试了以下方法:
if (false) {}
:警告“死代码”while (false) {}
:编译错误“无法访问的代码”
我想知道这种差异是否存在真正的“原因”。我已经找到了…
…但是为什么不允许while (false)
相同的调试目的?
回答:
在上可达代码JLS部分解释了理由。本质上,Java通常不应该像C常规那样使用条件编译#ifdef
,但是在某些情况下(例如调试,尤其是向后二进制兼容性),需要允许编译器完全剥离代码,因此特定的结构if(false)
为此被允许。
以上是 if(false)vs.while(false):无法访问的代码与死代码 的全部内容, 来源链接: utcz.com/qa/407203.html