Hello guys.
I would like to share with you a small hint on how to compare Enums in Java. I see a lot of people who compare enums in java incorrectly.
Let’s say that we have Animal enumeration.
enum Animal { DOG, CAT, BIRD }
The worst way is to compare enums like the example below. This type of comparison can throw NullPointerException in case a variable animal is null.
if (animal.equals(Animal.BIRD)) { //DO SOMETHING }
A better way how to compare java is to switch variable with the Enum constant.
if (Animal.BIRD.equals(animal)) { //DO SOMETHING }
The best way of comparison Enums in Java is to use == operator. The reason why to use this operator is that your code will be null-safe. Check the Java code below.
if (Animal.BIRD == animal) { //DO SOMETHING }
I hope that this article help someone.
Richard
Leave a Reply