java - 将java枚举映射到整数
问题描述
我想将整数映射到 Java 中的枚举。整数需要是键,枚举是值。我见过的所有示例都将枚举作为值,将整数作为键。我有:
enum CardStatus {
UNKNOWN, // 0 should map to this
PENDING, // 1 should map to this
ACTIVE // 2 should map to this
public CardStatus getCardStatus(int cardStatus) {
// e.g. cardStatus of 1 would return PENDING
}
}
我怎样才能打电话getCardStatus()
并取回CardStatus
枚举?例如getCardStatus(2)
会返回ACTIVE
解决方案
您可以制作getCardStatus()
静态:
enum CardStatus {
UNKNOWN, // 0 should map to this
PENDING, // 1 should map to this
ACTIVE; // 2 should map to this
public static CardStatus getCardStatus(int cardStatus) {
return CardStatus.values()[cardStatus];
}
}
并使用它:
System.out.println(CardStatus.getCardStatus(0));
推荐阅读
- r - 在 R 中:我想检查 df1$A 的一个值在 df2$A 中有多少次
- python - 从 Peewee 查询中删除相关表
- sql-server - 在这个例子中是否可以使用递归 CTE?
- multithreading - 调度用户级线程在可用的 LWP 上运行究竟意味着什么?
- google-apps-script - 插入格式化文本后如何以编程方式重置格式
- python - 为什么 Github Actions 工作流安排的 cron 没有在正确的时间触发?
- excel - 从文本框中读取 KeyCode
- r - 绘制多级变量系列的百分比(并排)
- performance-testing - 如何运行蝗虫任务n次
- java - 将 JScrollPane 添加到 JPanel,其中包含另一个面板