MrF*_*man 3 java optional java-stream
在我的流中,我想根据用户的输入获取 MainMenuOption。如果枚举 MainMenuOptions 包含这样的选项,我想返回它,如果没有 - 打印一些消息“没有这样的选项”并再次获取用户的输入。
return Arrays.stream(MainMenuOptions.values())
.filter(x -> x.getCommand().equals(ConsoleInput.getNextLineFromUser()))
.findFirst() // it returns Optional<MainMenuOptions>
.orElse(); //or Else return some value, cannot do something
Run Code Online (Sandbox Code Playgroud)
我如何使用 Java Steams 实现它?
先感谢您。
使用Optional.map之前的操作orElse转换为Optional<String>例如
return Arrays.stream(MainMenuOptions.values())
.filter(x -> x.getCommand().equals(ConsoleInput.getNextLineFromUser()))
.findFirst()
.map(MainMenuOptions::name)
.orElse("THERE IS NO SUCH OPTION");
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
76 次 |
| 最近记录: |