2012-08-02 3 views
2

이의 내가 값반환 목록 사용할 수있는 방법이 있나요

'Language' 

문자열을 가지고 내가

enum Language{ 
    English, 
    Spanish, 
    French 
} 

언어

라는 열거 있다고 가정 해 봅시다 열거의 이름의 리터럴 문자열 값 문자열 'Language'를 선택하고 Enum 언어의 값을 반환합니다. 기본적으로 문자열을 전달하여 Enum 언어의 인스턴스를 가져 오는 메서드가 있는지 궁금합니다. 종류 같은 것

Class.forName() 

그러나 열거 형의 경우.

+0

내 주변을 무시하고 이것은 java (죄송합니다) – Hogan

+0

아마도이 답변입니까? 나는 자바도 잘 모르고 테스트도 할 수 없다 : http://stackoverflow.com/a/4751239/215752 – Hogan

답변

5

열거 형은 클래스이므로 정규화 된 이름 (예 : "com.mydomain.myapp.Language")을 사용하면 열거 형 클래스를 Class.forName에서 가져올 수 있습니다. 거기에서 Class 객체에 리플렉션을 사용할 수 있습니다. getEnumConstants은 모든 열거 형 값을 제공하며 대신 이름을 원하면 Enum 객체에서 .name을 사용할 수 있습니다.

+0

com.mydomin.myapp은 무엇인가? 게다가 내 열거 형 패키지가 포함되어 있으므로 어떻게 이름에 포함시켜야합니까? –

+0

[docs에있는] 클래스의 정규화 된 이름 (http://docs.oracle.com/javase/6/docs/api/java/lang/ Class.html # forName (java.lang.String)). – Xaerxess

+0

나는 정답이라고 생각하고 리플렉션을 사용하여 값을 얻는 방법을 보여주는 Oracle의 자습서와 함께 다른 링크를 추가하려고합니다. http://docs.oracle.com/javase/tutorial/reflect/special/enumMembers .html –

관련 문제