Netbeans`条件语句是多余的

时间:2014-02-06 12:57:30

标签: java netbeans conditional

Netbeans给出了The conditional statement is redundant警告:

return (this.getId(person) == null) ? false : true;

如果我遵守这一点,那就改为:

return (this.getId(person) != null);

这两个是否相等?第二个如何有条件?

4 个答案:

答案 0 :(得分:5)

是的,它们在概念上都是相同的。

第二个不是有条件的。它的表达式解析为boolean,所以只需要你可以得到那个表达式。

为什么在第一种情况下它是多余的,就像写

一样
   if(true){
      return true;
    }else{
     return false;
   }

看看你的状况

 this.getId(person) != null;

您的this.getId(person)可能是null,也可能不是。这样表达式解析为truefalse。而已。对 ?所以你的IDE告诉你使用那个表达式结果。

答案 1 :(得分:3)

表达式this.getId(person) == null会返回truefalse。再次添加三元运算符是多余的。

答案 2 :(得分:3)

您可以将第一个表单解包为以下内容:

boolean cnd = (this.getId(person) == null);
if (cnd)
  return true;
else
  return false;

这清楚地表明,切换布尔值只是为了返回相同的布尔值是多余的。

第二个语句不是有条件的,但它提供了相同的结果,跳数更少。

答案 3 :(得分:0)

您将返回一个布尔值和

return (this.getId(person) != null);

是一个布尔条件语句,将计算为true或false。这就是编译器告诉您条件语句冗余的原因。它仍然会以另一种方式编译,但它的打字更多,而且不是那么干净。