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;
    }
}