Redundant If statement warning

if-statement, java, netbeans

Solution

This

if ( a > b) {
  return true;
}
return false;

consists in pushing the value of `a` on the stack, pushing the value of `b` on the stack, popping both and checking the result of `>`. If it's `true`, push the value of `true` on the stack, then pop it and return it. If it's `false`, branch to further down in the bytecode, push the value of `false` on the stack, pop it and return.

In the case of

return a > b;

you're pushing the value of `a` and `b` on the stack, then popping the values and pushing the result of `>` on those values onto the stack. Then popping that value and returning it.

So

return a > b;

is unnoticeably more efficient at the byte code level.

(IMO I find the second more readable and I believe most will, too.)

Problem

``` if ( a > b) { return true; } return false; ``` With the above code Netbeans gives `"Redundant if statement"` warning and suggest changing it to : ``` return a > b; ``` I think the first version is easier to read and prefer using it in my code. I want to know if there is any disadvantages of it compared to the suggested one.

Original source