C 혹은 C++ 에서는 enum value을 int로 casting할 수 있다.

그러나 java에서는 int casting이 허용되지 않는다.

 

이 글에서는 Java 에서 enum value의 index를 얻는 방법과 참조하는 방법을 공유한다.

1. enum 정의  예제


enum NUMBER{

FIRST,

SECOND,

THIRD

} ;


2. in C

 

main ()

{

   function (FIRST);

}

 

function (int num)

{

...

 

switch (num)

{

case FIRST:

....

break; 


case SECOND:

....

break; 


case THIRD:

....

break; 


}


3. in Java

 

main ()

{

   function (FIRST.ordinal());

}

 

function (int num)

{

...

switch (NUMBER.valuesof()[num])

{

case FIRST:  // if index is 0

....

break; 


case SECOND// if index is 1

....

break; 


case THIRD// if index is 2

....

break; 


}