Se guardi nell'enum api il metodo name()
, dice che:
Restituisce il nome di questa costante enum, esattamente come dichiarato nella sua dichiarazione enum. La maggior parte dei programmatori dovrebbe usare il metodo toString preferibilmente a questo, poiché il metodo toString potrebbe restituire un nome più user-friendly. Questo metodo è progettato principalmente per l'uso in situazioni specializzate in cui la correttezza dipende dall'ottenere il nome esatto, che non varierà da rilascio a rilascio.
Perché è meglio usare toString()
? Voglio dire che String può essere ignorato quando name () è già definitivo. Quindi, se usi toString e qualcuno lo sovrascrive per restituire un valore hardcoded, l'intera applicazione è inattiva ... Inoltre, se cerchi nelle fonti il metodo toString () restituisce esattamente e solo il nome. È la stessa cosa.
toString()
tuo enum, ma nessun altro può estenderlo e scavalcarlo. Non puoi estendere enumerazioni.