Home / Programmazione / Java / Convertire uno String in Enum in Java
Mattepuffo

Convertire uno String in Enum in Java

Convertire uno String in Enum in Java

Il problema che andiamo ad affrontare oggi è questo: come convertire un oggetto String in un oggetto Enum in Java?

In sostanza abbiamo un Enum del genere, e vogliamo tirare fuori l'indirizzo di una specifica voce:

public enum Whois {

    ARIN("whois.arin.net"),
    RIPE("whois.ripe.net"),
    APNIC("whois.apnic.net"),
    AFRINIC("whois.afrinic.net"),
    LACNIC("whois.lacnic.net"),
    JPNIC("whois.nic.ad.jp"),
    KRNIC("whois.nic.or.kr"),
    CNNIC("ipwhois.cnnic.cn"),
    UNKNOWN("");

    private String address;

    Whois(String address) {
        this.address = address;
    }

    public String getAddress() {
        return address;
    }

}

Prima di tutto, ricordate che per avere delle voci cosi strutturate, è obbligatorio avere il costruttore che prende un valore in input; può anche essere private, ma per capire meglio provate a levarlo per vedere gli errori.

Detto ciò, vediamo come eseguire l'operazione che ci serve:

public class Main {

    public static void main(String[] args) {
        Whois rir = Whois.valueOf("ARIN");
        System.out.println(rir + ":" + rir.getAddress());
    }
}

Abbiamo usato il metodo valueOf, passandogli il nome della voce che ci interessa.

Sotto stampiamo il nome e il valore della voce.

Enjoy!