[ 에러 발생 코드 ]

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

'JAVA' 카테고리의 다른 글

stream 활용해 list 최소, 최대값 구하기  (0) 2022.11.20
2차원 배열 정렬, 문자열 배열 정렬  (1) 2022.10.03
Queue와 BFS  (1) 2022.09.30
정렬과 lambda  (0) 2022.09.29
PriorityQueue ( 우선순위큐 )  (0) 2022.09.27

+ Recent posts