首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在也包含枚举的类中使用枚举.我知道,但是请检查一下

在也包含枚举的类中使用枚举.我知道,但是请检查一下
EN

Stack Overflow用户
提问于 2017-08-29 22:58:40
回答 1查看 30关注 0票数 0

所以,起初我认为这是一个愚蠢的问题,但是当我考虑到这个类的实现时,我意识到我可能是在错误地处理这个问题,或者它比我想象的更复杂。我也不知道我是否完全理解枚举的正确用法。以下是我想做的事:

我有一班竞争对手。竞争对手有一个年龄类别,它只能是4个可能值中的一个,所以我将其放入一个嵌入的枚举类中。下面是它变得棘手的地方:

每个竞争对手有7个类别/部门,他们的排名是有限的一组价值的类别。例如,他们可能被列为“B级”的左轮手枪师。

我想要创建一个竞争对手,它拥有我分配给竞争对手字段的所有值,加上一个列表(我目前正在使用一个单独的对象“除法”)来显示每个部门的所有竞争者的排名。我希望最终能够使用Gson库将完整的竞争者对象(除法和所有)解析为Json,但是我无法思考是否正确地处理这个问题,或者解析方法是否能够正确地解析它。任何帮助都将不胜感激。

这是我的代码:

代码语言:javascript
复制
public class Competitors {

    private String referenceNum;
    private String firstName;
    private String lastName;
    private String memberNum;
    private boolean lady;
    private enum Age{
        JUNIOR,
        ADULT,
        SENIOR,
        SUPER_SENIOR;
    }
    private Division divisionRankings;

}

 class Division{
     private String revolver;
     private String singleStack;
     private String production;
     private String limited;
     private String limited10;
     private String open;
     private String pistolCaliberCarbine;

     private enum Classes{
         U, D, C, B, A, M, GM;
     }
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-08-29 23:19:30

下面是一个很好地映射到JSON的模型:

代码语言:javascript
复制
public class Competitor {

    public enum Age {
        JUNIOR,
        ADULT,
        SENIOR,
        SUPER_SENIOR;
    }

    public String referenceNum;
    public String firstName;
    public String lastName;
    public String memberNum;
    public boolean lady;
    public Age age;

    public Map<String, Ranking> divisionRankings;
}

public enum Ranking {
    U, D, C, B, A, M, GM;
}

如果想让外部世界可以访问字段(或者使用getter和setter),则需要将字段公之于众。

Map<String, ?>将转换为JSON对象;在您的示例中,字符串键将是分隔名。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45949472

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档