gpt4 book ai didi

java - 如何使用 id 检索枚举名称?

转载 作者:IT老高 更新时间:2023-10-28 21:07:21 24 4
gpt4 key购买 nike

我有 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;
}
}

我必须仅使用 id (40,60, 80) 来获取枚举名称 (PASSED, AVERAGE, GOOD)。我该怎么做?

最佳答案

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

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

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

关于java - 如何使用 id 检索枚举名称?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15380243/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com