寻找一种链接可选值的方法,以便返回第一个存在的选项。如果不存在 Optional.empty()
应该被退回。
假设我有几种这样的方法:
Optional<String> find1()
我正在尝试链接它们:
Optional<String> result = find1().orElse( this::find2 ).orElse( this::find3 );
但当然这不起作用,因为 orElse
需要一个值,而 orElseGet
需要一个 Supplier
。
原文由 piler 发布,翻译遵循 CC BY-SA 4.0 许可协议
使用流:
如果您需要延迟评估查找方法,请使用供应商功能: