Czy ==mogę używać na wyliczeniach w Javie, czy muszę używać .equals()? W moich testach ==zawsze działa, ale nie jestem pewien, czy to gwarantuje. W szczególności nie ma .clone()metody na wyliczeniu, więc nie wiem, czy można uzyskać wyliczenie, dla którego zwróciłoby .equals()inną wartość niż ==.
Na przykład, czy to jest w porządku:
public int round(RoundingMode roundingMode) {
if(roundingMode == RoundingMode.HALF_UP) {
//do something
} else if (roundingMode == RoundingMode.HALF_EVEN) {
//do something
}
//etc
}
Czy też muszę napisać to w ten sposób:
public int round(RoundingMode roundingMode) {
if(roundingMode.equals(RoundingMode.HALF_UP)) {
//do something
} else if (roundingMode.equals(RoundingMode.HALF_EVEN)) {
//do something
}
//etc
}