Enum

public enum UserStatus {
    PENDING,
    ACTIVE,
    INACTIVE,
    DELETED;
}
System.out.println(UserStatus.ACTIVE);      //ACTIVE

public enum WhoisRIR {
    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 url;

    WhoisRIR(String url) {
        this.url = url;
    }

    public String url() {
        return url;
    }
}
        System.out.println(WhoisRIR.ARIN.url());      //whois.arin.net

public enum Operation {
    PLUS,
    MINUS,
    TIMES,
    DIVIDE;

    double calculate(double x, double y) {
        switch (this) {
            case PLUS:
                return x + y;
            case MINUS:
                return x - y;
            case TIMES:
                return x * y;
            case DIVIDE:
                return x / y;
            default:
                throw new AssertionError("Unknown operations " + this);
        }
    }

}
        double result = Operation.PLUS.calculate(1, 2);
        System.out.println(result); //3.0

        for (UserStatus status : UserStatus.values()) {
            System.out.println(status);
        }
PENDING
ACTIVE
INACTIVE
DELETED

        WhoisRIR rir = WhoisRIR.APNIC;

        if(rir == WhoisRIR.APNIC) {
            System.out.println("This is APNIC : " + rir.url());  //This is APNIC : whois.apnic.net
        }

public class Test {

    public static void main(String[] args) {

        WhoisRIR rir = WhoisRIR.RIPE;

        switch (rir) {
            case ARIN:
                System.out.println("This is ARIN");
                break;
            case APNIC:
                System.out.println("This is APNIC");
                break;
            case RIPE:
                System.out.println("This is RIPE"); // This is RIPE
                break;
            default:
                throw new AssertionError("Unknown RIR " + rir);

        }
    }
}

//enum valueOf + uppercase
Operation op = Operation.valueOf("times".toUpperCase());
System.out.println(op.calculate(10, 3));    // 30.0
// Recommended Solution : add locale
WhoisRIR rir = WhoisRIR.valueOf("ripe".toUpperCase(Locale.ENGLISH));
System.out.println(rir);    //RIPE
System.out.println(rir.url());    //whois.ripe.net

  • development/java/enum.txt
  • Darrera modificació: 05/06/2018 03:01
  • per mate