我想将枚举保留为构造函数中的给定数字,而不是字符串和序数:
public enum EAdUnitType {
NOTIFICATION(1),
BANNER(2);
private int mId;
public int getId() {
return mId;
}
}
我想保留 getId()。
最佳答案
使用可以从 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);
}
.........
}
关于enums - 在 ORMLite 中保留自定义枚举值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26097190/