当前位置: 首页 > 面试题库 >

如何使用ID检索Enum名称?

封景曜
2023-03-14
问题内容

我有enum

public enum EnumStatus {

    PASSED(40L, "Has Passed"),
    AVERAGE(60L, "Has Average Marks"),
    GOOD(80L, "Has Good Marks");

    private java.lang.String name;

    private java.lang.Long id;

    EnumStatus(Long id, java.lang.String name) {
        this.name = name;
        this.id = id;
    }

    public java.lang.String getName() {
        return name;
    }

    public java.lang.Long getId() {
        return id;
    }
}

我得枚举名称(PASSEDAVERAGEGOOD只能使用IDS(40,60,80))。我该怎么做?


问题答案:

在您enum要搜索的静态方法中创建一个静态方法values(隐式方法/成员,不知道确切是哪个方法)并返回相应的值。对于该方法找不到匹配值的情况,应创建一个特殊的条目,例如UNKNOWN,可以返回。这样,您不必返回null,这总是一个坏主意。

public static EnumStatus getById(Long id) {
    for(EnumStatus e : values()) {
        if(e.id.equals(id)) return e;
    }
    return UNKNOWN;
}

顺便说一句-您的代码似乎是错误的。之后的括号GOOD似乎不属于那里。



 类似资料:
  • 我正在构建一个应用程序,前端有Angular,背面有Laravel。我的问题是,如何通过在帖子表上使用他们的“author_id”来返回/检索用户的全名,而在用户表上使用“user_id”?我有一个用户表和帖子表看起来像这样: 我的用户模型看起来像这样: 我的Post Model看起来像这样: 假设我的路由是正确的(是的,如果需要,我可以提供),我的PostController有以下方法来检索帖子

  • 问题内容: 为了进行记录,我想创建一个记录器,该记录器将当前会话的ID自动添加到记录的行中。 对于已登录的用户,这不是问题: 问题是,在用户登录之前的回报。是否有另一种获取会话ID的方法,而无需引用当前响应或此类响应? 问题答案: 您可以使用 这依赖于Spring的,因此应与Spring MVC一起使用,否则您应该有一个声明。如果不存在,还将创建会话。

  • 我试图检索一个索引中的所有文档,但只得到_id字段。 基本上,我想检索我拥有的所有文档ID。 使用时: 我得到的命中包含:" _index "、" _type "、" _id "、" _score "、" _source ",这比我需要的要多得多。 编辑(回答):所以我的问题是我使用KOPF来运行查询,结果不准确(得到了_source等等…)!当使用curl时,我得到了正确的结果! 所以上面的查询

  • 问题内容: 这是我的表的一个例子: 这就是我需要的信息。基本上是它,但在每个“路线”的列中: 我以为我需要一个枢轴,这是我正在尝试学习的,但是我无法在我的一生中拼凑出一个行之有效的简洁查询。 我已经尝试过类似的事情: 但是,这为我提供了“全部”列,无论如何我都不相信它是适当的-它需要“分组”并将各列放在一起,这也是我所坚持的。 有什么我想念的吗?还是有更好的方法来解决这个问题? 谢谢! 问题答案:

  • 我写了下面的代码: 但不幸的是,它给了我以下例外: servlet com.google.appengine.api.files中出现未捕获的异常。com.google.appengine.api.files.FileServiceImpl.translateException(FileServiceImple.java:597)中的FinalizationException位于com.goole

  • 问题内容: 我有一个像这样开始的XML文件: 我将不得不打开许多这些文件。它们中的每一个都有不同的名称空间,但一次只能有一个名称空间(我永远不会在一个xml文件中找到两个定义的名称空间)。 使用XPath,我希望有一种自动的方法将给定的名称空间添加到名称空间管理器中。到目前为止,我只能通过解析xml文件来获取名称空间,但是我有一个XPathNavigator实例,并且它应该具有一种不错且干净的方式