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

2023-09-03 13:58:58 作者:好听好记的主播名字 容易让人记的主播名字

我想知道为什么以下针对Boolean 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
    }
}
SQL POST基于时间与布尔盲注

我正在使用月食火星。和Java 1.8

推荐答案

在第二种方法中,集成开发环境评估表达式,因此它认为它是死代码,但在第一种方法中,您传递了布尔值。

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