Use == . There cannot be several instances of the same enum constant (in the context of the class loader, but let it ignore this point), so it is always safe.
However, using equals() also safe and will also perform referential equality. It is pretty much a style choice.
Personally, I rarely see if for enumerations in general. I prefer switch blocks.
switch (c1) { case Brown: //is brown break; case Red: //... }
source share