[英]How to get a value from enum?
如何使用switch語句從該枚舉中生成實際值?
public enum Gender {
Unknown(0),
Male(1),
Female(2);
private static final SparseArray<Gender> lookupTable = new SparseArray<Gender>();
static {
for (final Gender gender : EnumSet.allOf(Gender.class)) {
lookupTable.put(gender.intValue, gender);
}
}
private final int intValue;
public static Gender getByIntValue(int val) {
return lookupTable.get(val);
}
private Gender(int intValue) {
this.intValue = intValue;
}
public int getIntValue() {
return intValue;
}
}
您用“ 帶有switch語句的該枚舉的實際值 ”所指的含義並不完全清楚。 所以這是與此枚舉有關的事情:
您可以在switch
-statement中使用枚舉,如下所示:
Gender g = ...
switch(g) {
case Male:
// Do something for the males
break;
case Female:
// Do something for the females
break;
case Unknown:
// Argh... What to do?!
break;
}
如果要獲取g的intValue
,可以使用:
int value = g.getIntValue();
如果要從int
獲取Gender
值,可以使用:
Gender g = Gender.getByIntValue(1);
如果要從String
獲取Gender
值,則可以使用:
Gender g = Enum.valueOf(Gender, "Male");
那是你要的嗎 ?
switch (genderVar) {
case Unknown:
case Male:
case Female:
default:
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.