JAVA
JAVA Enum 에러
컨트롤디
2023. 4. 9. 14:40
[ 에러 발생 코드 ]
public enum StockEnum {
KAKAO(035720,"카카오"),
NAVER(035420,"네이버"),
KIA(000270,"기아"),
SKENOVATION(096770, "SK이노베이션"),
LGCHEMISTRY(051910,"LG화학"),
SAMSUNG(005930,"삼성");
int number;
String name;
StockEnum(int number, String name) {
this.number = number;
this.name = name;
}
}
위 코드를 작성해보면 SK이노베이션의 숫자에 에러가 발생한다.
그 이유는 위 코드는 숫자 0부터 시작하는데, 그 뜻은 java 에서 8진수(base-8) 로 해석한다는 의미입니다.
그래서 0 뒤에 있는 8,9에 대해 해석할 수 없으므로 에러가 발생합니다.
위 코드를 수정하려면 아래와 같이 String 으로 작성하면 됩니다.
[ 수정 코드 ]
public enum StockEnum {
KAKAO("035720","카카오"),
NAVER("035420","네이버"),
KIA("000270","기아"),
SKENOVATION("096770", "SK이노베이션"),
LGCHEMISTRY("051910","LG화학"),
SAMSUNG("005930","삼성");
String number;
String name;
StockEnum(String number, String name) {
this.number = number;
this.name = name;
}
}