Можно ли использовать == для перечислений на Java, или мне нужно использовать .equals()? В моем тестировании == всегда работает, но я не уверен, что мне это гарантировано. В частности, на перечислении нет метода .clone(), поэтому я не знаю, можно ли получить перечисление, для которого .equals() будет возвращать другое значение, чем ==.
Например, это ОК:
public int round(RoundingMode roundingMode) {
  if(roundingMode == RoundingMode.HALF_UP) {
    //do something
  } else if (roundingMode == RoundingMode.HALF_EVEN) {
    //do something
  }
  //etc
}
Или мне нужно написать его так:
public int round(RoundingMode roundingMode) {
  if(roundingMode.equals(RoundingMode.HALF_UP)) {
    //do something
  } else if (roundingMode.equals(RoundingMode.HALF_EVEN)) {
    //do something
  }
  //etc
}
