在我的信息流中,我想根据用户的输入获取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
如何使用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");