이처럼 열거 형을 정의했습니다.키 값 쌍으로 열거 형을 얻는 가장 쉬운 방법
public enum UserType {
RESELLER("Reseller"),
SERVICE_MANAGER("Manager"),
HOST("Host");
private String name;
private UserType(String name) {
this.name = name;
}
public String getName() {
return name;
}
}
것은 어떤 키 - 값 쌍은 열거 값을 형성 얻을 수있는 가장 쉬운 방법이어야 하는가?
내가이
key = Enum(example:- HOST)
value = Host
내가 정의합니까 원하는지도 같아야 만들려면 출력지도
Map<String, String> constansts = new HashMap<String, String>();
및 ANS입니다 : 내가
나요 나는 일반 만든 무엇 enum에 액세스하여 그 값을 Map으로 변경하는 메서드입니다. 나는이 IDEA 코드를 가지고 다른 스레드에서 코드 조각을 발견했다. 내가 할 일은이 모든 모든 열거 구조와이 메소드를 호출하고 난 완료하고 후 지금
public static <T extends Enum<T>> Map<String, String> getConstantMap(
Class<T> klass) {
Map<String, String> vals = new HashMap<String, String>(0);
try {
Method m = klass.getMethod("values", null);
Object obj = m.invoke(null, null);
for (Enum<T> enumval : (Enum<T>[]) obj) {
vals.put(enumval.name(), enumval.toString());
}
} catch (Exception ex) {
// shouldn't happen...
}
return vals;
}
.
한
이 완료하려면 더 많은 것은 나는이
public String toString() {
return name;
}
감사와 같은 ToString 메서드를 orverride해야합니다.
을 사용하고 있다고 생각 당신이 열거 나 키를 될 수있는 문자열을 하시겠습니까? – Carl
대신에'klass.getEnumConstants()'할 수 있습니다. – user102008