Consider using switch
instead of if
/else
for enums. That is, prefer this:
switch (foo.getBar()) { case BAZ: doSomething(); break; default: doSomethingElse(); }
instead of this:
if (foo.getBar().equals(Bar.BAZ)) { doSomething(); } else { doSomethingElse(); }
Switches on enums
have a few small advantages worth considering:
equals
vs. ==
debate.BAZ
by its simple name without a static import. That's good because you might not want to see it appear unqualified in other parts of the file where the context would not make its meaning so clear.