Va bene usare ==
su enumerazioni in Java o devo usarlo .equals()
? Nei miei test, ==
funziona sempre, ma non sono sicuro di averlo garantito. In particolare, non esiste un .clone()
metodo su un enum, quindi non so se sia possibile ottenere un enum per il quale .equals()
restituirebbe un valore diverso da ==
.
Ad esempio, va bene:
public int round(RoundingMode roundingMode) {
if(roundingMode == RoundingMode.HALF_UP) {
//do something
} else if (roundingMode == RoundingMode.HALF_EVEN) {
//do something
}
//etc
}
O devo scriverlo in questo modo:
public int round(RoundingMode roundingMode) {
if(roundingMode.equals(RoundingMode.HALF_UP)) {
//do something
} else if (roundingMode.equals(RoundingMode.HALF_EVEN)) {
//do something
}
//etc
}