我想将Enum不是字符串而不是序号,而是作为构造函数中的给定数字:
public enum EAdUnitType {
NOTIFICATION(1),
BANNER(2);
private int mId;
public int getId() {
return mId;
}
}
我想坚持使用getId()。
答案 0 :(得分:2)
使用可以从id
添加到枚举public enum EAdUnitType {
NOTIFICATION(1),
BANNER(2);
private int mId;
public int getId() {
return mId;
}
public static EAdUnitType fromId(int id) {
EAdUnitType [] types = EAdUnitType .values();
for (EAdUnitType eType : types) {
if (eType.mId == id) {
return eType;
}
}
return null;
}
}
并将数字ID保存到数据库
public class DbEntity {
private int mEAdUnitTypeId;
.....
public void setEAdUnitType(EAdUnitType type) {
mEAdUnitTypeId = type.getId();
}
public EAdUnitType getEAdUnitType() {
return EAdUnitTypeId.fromId(mEAdUnitTypeId);
}
.........
}