有内场,地图的枚举.
现在我需要通过其内部领域获得枚举.
写道:
package test;
/**
* Test enum to test enum =)
*/
public enum TestEnum {
ONE(1), TWO(2), THREE(3);
private int number;
TestEnum(int number) {
this.number = number;
}
public TestEnum findByKey(int i) {
TestEnum[] testEnums = TestEnum.values();
for (TestEnum testEnum : testEnums) {
if (testEnum.number == i) {
return testEnum;
}
}
return null;
}
}
Run Code Online (Sandbox Code Playgroud)
但是每次我需要找到合适的实例时,查看所有枚举并不是非常有效.
有没有其他方法可以做同样的事情?
我有一个自定义值的枚举:
enum DaysOfExercise{
MONDAY ("legs Workout"),
WEDNESDAY ("back workout"),
SATURDAY ("running") ;
private String exercise ;
private DaysOfExercise(String exercise){
this.exercise = exercise ;
}
public String getExercise(){
return this.exercise ;
}
}
Run Code Online (Sandbox Code Playgroud)
我需要添加一个搜索功能,该功能DaysOfExercise根据输入的练习名称返回a 。
我知道.values()枚举中有一种方法可以返回DaysOfExercise值列表以方便地进行迭代,但是在我的情况下,我想返回嵌入的值列表以与用户输入的内容进行比较。
是否有任何内置方法可以返回枚举自定义值列表而不是枚举值?
注意:这并不是我遇到这个问题。我可以通过几个循环轻松解决它。我只是在寻找一种优化的解决方案。