자바는 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