Back to Error Prone

OperatorPrecedence

docs/bugpattern/OperatorPrecedence.md

2.49.0772 B
Original Source

The Google Java Style Guide §4.7 states:

Optional grouping parentheses are omitted only when author and reviewer agree that there is no reasonable chance the code will be misinterpreted without them, nor would they have made the code easier to read. It is not reasonable to assume that every reader has the entire Java operator precedence table memorized.

Use grouping parentheses to disambiguate expressions that could be misinterpreted.

For example, consider this:

java
boolean d = (a && b) || c;
boolean e = (a || b) ? c : d;
int z = (x + y) << 2;

Instead of this:

java
boolean r = a && b || c;
boolean e = a || b ? c : d;
int z = x + y << 2;