How to retrieve Enum name using the id?
enums, java
Solution
Create a static method in your `enum` which searches in `values` (implicit method/member, don't know exactly which is it) and returns the corresponding value. For cases in which the method can not find a matching value, you should create a special entry, e.g. `UNKNOWN`, which you can return. This way, you do not have to return `null`, which is always a bad idea.
public static EnumStatus getById(Long id) {
for(EnumStatus e : values()) {
if(e.id.equals(id)) return e;
}
return UNKNOWN;
}
Btw - your code seems to be wrong. The bracket after `GOOD` seems to not belong there.
Problem
I have the `enum` as: ``` 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; } } ``` I have to get the Enum names(`PASSED`, `AVERAGE`, `GOOD`) using the ids only(40,60, 80). How do I do it?