마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

enum 변수에대한 사용법질문

0 추천
enum test { aaa, bbb, ccc};

...............

int n = test.bbb;

 

위의코드에서 n 값이 1 을 예상했는데

test.bbb 에서 incompatible types 이라는 설명이 나옵니다

문법이 잘못되었나요?
잡부 (5,110 포인트) 님이 2019년 1월 6일 질문

1개의 답변

+1 추천
 
채택된 답변

네  java는 c와 달리 enum  type은 enum type이지 int가 아닙니다.

꼭 숫자로 매기고 싶다면  아래와 같이 enum을 정의 하고,

enum Test { 
    aaa(0), bbb(1), ccc(2);
    private int mVal;
    Test(int val) {
      mVal = val;
    }

    public int toInt() { return mVal; }


    public static Test fromInt(final int data)
    {
        for (Test method : Test.values())
        {
            if (method.mVal == data)
            {
                return method;
            }
        }

        return null;
    }

}

 

int n = Test.bbb.toInt() 로 사용하시면 됩니다.

 

익명사용자 님이 2019년 1월 7일 답변
2019년 1월 8일 수정
...