Enemlerimi bu şekilde tanımladım.Temel Değer çifti için Enum'u almanın en kolay yolu
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;
}
}
Ne anahtar-değer çifti enum değerlerini oluşturmak almanın en kolay yolu olmalıdır?
ben bu
key = Enum(example:- HOST)
value = Host
Ben tanımlıyorsunuz istediğiniz harita gibi olmalıdır oluşturmak istediğiniz çıkış haritası
Map<String, String> constansts = new HashMap<String, String>();
Ans: Ben
mü ben bir Genel oluşturduk neler Herhangi bir enumeye erişme ve bundan bir Haritaya değer değiştirme yöntemi. Bu IDEA'yı aldım, burada başka bir iş parçacığında bulunan bir kod parçası oluşturdum. Tek yapmam gereken bu tüm enum yapıları ile bu yöntemi çağırın ve ben Bitti am sonra Şimdi
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;
}
.
Bir
Bu halletmek için fazla bir şey ben bu
public String toString() {
return name;
}
teşekkür gibi toString Yöntemi orverride gerekiyor.
kullandığını düşünüyorum enum veya anahtarı olmak dize istiyoruz? – Carl
tüm bu yansıma şeyleri yerine, sadece 'klass.getEnumConstants() ' – user102008