如何遍历具有自定义值的枚举?

red*_*d77 0 java enums

我有一个自定义值的枚举:

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值列表以方便地进行迭代,但是在我的情况下,我想返回嵌入的值列表以与用户输入的内容进行比较。

是否有任何内置方法可以返回枚举自定义值列表而不是枚举值?

注意:这并不是我遇到这个问题。我可以通过几个循环轻松解决它。我只是在寻找一种优化的解决方案。

Joh*_*ica 5

使用将枚举值数组映射到字符串列表。

List<String> exercises = Stream.of(DaysOfExercise.values())
    .map(DaysOfExercise::getExercise)
    .collect(Collectors.toList());
Run Code Online (Sandbox Code Playgroud)