HOWTO · Java
Enum a String in Java
Questo tutorial spiega due metodi della classe enum per convertire enum in stringa in Java.
In questa pagina
Enum in Java è un tipo di dati o una classe speciale che contiene un insieme di costanti. Possiamo anche aggiungere costruttori e metodi in un’enumerazione. Per creare un enum in Java, usiamo la parola chiave enum e gli diamo un nome proprio come una classe. In questo articolo, esamineremo i modi per convertire un’enumerazione in una stringa Java.
Converti Enum in stringa usando name() in Java
Nel primo esempio, useremo name() della classe Enum per restituire il nome esatto della costante enum come stringa. Di seguito, abbiamo creato un enum all’interno della classe, ma possiamo creare un enum sia all’esterno che al suo interno. Abbiamo chiamato l’enumerazione Directions, che contiene i nomi delle direzioni come costante enum.
Possiamo recuperare qualsiasi costante usando il metodo name(). Directions.WEST.name() restituirà WEST come una stringa, che è memorizzata nella variabile stringa getWestInString e quindi stampata nell’output.
public class EnumToString {
enum Directions { NORTH, SOUTH, EAST, WEST }
public static void main(String[] args) {
String getWestInString = Directions.WEST.name();
System.out.println(getWestInString);
}
}
Produzione:
WEST
Converti Enum in stringa usando toString() in Java
Proprio come name() abbiamo il metodo toString(), ma quando si tratta di usare una costante enum per qualsiasi scopo importante, name() è preferito perché restituisce la stessa costante mentre toString() può essere sovrascritto all’interno dell’enumerazione. Significa che possiamo modificare ciò che viene restituito come stringa usando toString(), che vedremo nel prossimo esempio.
In questo esempio, usiamo il metodo toString() sulla costante che deve essere convertita in una stringa.
public class EnumToString {
enum Currencies { USD, YEN, EUR, INR }
public static void main(String[] args) {
String getCurrency = Currencies.USD.toString();
System.out.println(getCurrency);
}
}
Produzione:
USD
Abbiamo discusso in precedenza che possiamo sovrascrivere il metodo toString() per modificare ciò che vogliamo restituire come stringa con la costante enum. Nell’esempio seguente, abbiamo quattro valute come costanti che chiamano i costruttori enum con una stringa passata come argomento.
Ogni volta che una costante vede un metodo toString(), passerà il nome della stringa a getCurrencyName, una variabile di stringa. Ora dobbiamo sovrascrivere il metodo toString() all’interno dell’enum e restituire getCurrencyName con una stringa.
Nel metodo main(), abbiamo usato toString() per ottenere la costante INR come stringa. Possiamo vedere nell’output che viene stampata la stringa modificata. Possiamo anche stampare tutti i valori di un enum usando Enum.values(), che restituisce un array di costanti enum e quindi scorre ogni costante per stamparli come stringhe.
public class EnumToString {
enum Currencies {
USD("USD"),
YEN("YEN"),
EUR("EUR"),
INR("INR");
private final String getCurrencyName;
Currencies(String currencyName) {
getCurrencyName = currencyName;
}
@Override
public String toString() {
return "Currency: " + getCurrencyName;
}
}
public static void main(String[] args) {
String getCurrency = Currencies.INR.toString();
System.out.println("Your " + getCurrency);
Currencies[] allCurrencies = Currencies.values();
for (Currencies currencies : allCurrencies) {
System.out.println("All " + currencies);
}
}
}
Produzione:
Your Currency: INR
All Currency: USD
All Currency: YEN
All Currency: EUR
All Currency: INR