Wednesday, April 26, 2017

Java enum 사용하기

자바는 C++이나 C#과는 다르게 enum을 int로 형변환 하는 등 제대로 사용하려면 많이 구현해 주어야 한다.
아래와 같은 enum이 있다고 하였을 경우, Carrier.SKT enum을 int로 변환하려고 할때 다음을 호출하면 0이 리턴 된다.
Carrier.SKT.getValue();

그리고 1을 Carrier.KT로 변환하려 할때는 다음과 같이 한다.
Carrier.values()[1];

public enum Carrier {
    SKT(0),
    KT(1),
    LGT(2),
    NA(3);

    int value = 0;

    Carrier(int value) {
        this.value = value;
    }
    public int getValue() {
        return value;
    }

    @Override
    public String toString() {
        switch (value) {
            case 0:
                return "SKT";
            case 1:
                return "KT";
            case 2:
                return "U+";
            default:
                return "N/A";
        }
    }
}

No comments:

Post a Comment