我从Android的本地代码中以long或int的形式收到返回值,我想将其转换或匹配为枚举项以进行处理。这种转换是可能的吗?如何操作?
我从Android的本地代码中以long或int的形式收到返回值,我想将其转换或匹配为枚举项以进行处理。这种转换是可能的吗?如何操作?
如果你完全掌控值和枚举,并且它们是连续的,那么你可以使用枚举序数值:
enum Heyo
{
FirstVal, SecondVal
}
...later
int systemVal = [whatever];
Heyo enumVal = Heyo.values()[systemVal];
int againSystemVal = enumVal.ordinal();
public enum ePasswordType {
TEXT(0),
NUMBER(1);
private int _value;
ePasswordType(int Value) {
this._value = Value;
}
public int getValue() {
return _value;
}
public static ePasswordType fromInt(int i) {
for (ePasswordType b : ePasswordType .values()) {
if (b.getValue() == i) { return b; }
}
return null;
}
}
ePasswordType var = ePasswordType.NUMBER;
int ValueOfEnum = var.getValue();
当你只知道整数时,使用以下代码获取枚举:
ePasswordType t = ePasswordType.fromInt(0);