首页 > 解决方案 > 将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

标签: javaenumsinteger

解决方案


您可以制作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));

推荐阅读