为什么在显式布尔测试中存在死代码警告,而在隐式测试上却没有



我想知道为什么以下对布尔 true 的隐式测试不会产生死代码警告,而显式测试会产生一个?

例如:

public void noDeadCodeWarning()
{
    final boolean x = false;
    if ( x )
    {
      System.out.println("This is dead code");  // no warning
    }
}
public void hasDeadCodeWarning()
{
    final boolean x = false;
    if ( x == true )
    {
      System.out.println("This is dead code");  // yes warning
    }
}

我正在使用日食火星和Java 1.8

在第二种方法中,IDE 计算表达式,因此它说它是死代码,但在第一种方法中,您已经传递了布尔值。

根据 IDE if 语句需要布尔值作为条件,因此它不计算

相关内容

  • 没有找到相关文章

最新更新