2013-07-05 2 views
20

Myenum.length 같은 것을 가진 열거의 항목 수를 얻을 수있는 내장 방법이 있나요,Enum의 가능한 항목 수를 얻는 방법?

또는 나 자신에게 요소의 수를 hardcording 기능 int size()을 구현해야합니까?

+1

열거 형 또는 열거 형에 대해 이야기하고 있습니까? 이들은 동일하지 않습니다. –

+0

enums에 대해 이야기하고있었습니다. 문제는 프랑스어 enum은 "enumeration"의 줄임말입니다 (영어로 생각하는 경향이 있습니다). 그래서 인터페이스에 대해 말하지 않았습니다. – AdrieanKhisbe

+1

OK, 질문을 수정하여보다 명확하게했습니다. –

답변

38

Enum.values() 메서드를 사용하여 Enum 값의 배열을 가져온 다음 length 속성을 사용할 수 있습니다.

public class Main { 
    enum WORKDAYS { Monday, Tuesday, Wednesday, Thursday, Friday; } 

    public static void main(String[] args) { 
     System.out.println(WORKDAYS.values().length); 
     // prints 5 
    } 
} 

http://ideone.com/zMB6pG

9

당신은 Enum.values() 모든 enum 상수의 배열을 반환 Myenum.values().length

를 사용하여 길이를 얻을 수 있습니다. 이 배열의 length 변수를 사용하여 enum 상수를 가져올 수 있습니다.

다음 열거를 가정 :

public enum Color 
{ 
    BLACK,WHITE,BLUE,GREEN,RED 
} 

다음 명령문은 5 size에 할당합니다 :

int size = Color.values().length; 
+4

'length'는 배열의 메소드가 아니므로 속성 필드이므로 괄호없이 사용하십시오. –

+0

@CyrilleKa : 알려 주셔서 감사합니다. 그것을 정정했다. :) –

3

MyEnum.values()는 배열로 열거 상수를 반환합니다.

그래서 당신은 사용할 수 있습니다

int size = MyEnum.values().length 
관련 문제