寻找一种链接选项的方法,以便返回第一个存在的选项.如果没有,Optional.empty()则应退回.
假设我有几个像这样的方法:
Optional<String> find1()
Run Code Online (Sandbox Code Playgroud)
我想把它们链起来:
Optional<String> result = find1().orElse( this::find2 ).orElse( this::find3 );
Run Code Online (Sandbox Code Playgroud)
但当然这不起作用,因为orElse期望一个值,并orElseGet期望一个Supplier.