假设我有两个界面,A
和B
。 A
有三个已知的实施,A1
,A2
和A3
; B
有三个相应的具体包装类B1
,B2
和B3
,因此B1
的构造函数需要A1
,{ {1}}需要B2
,依此类推。
我有一个返回A2
的方法,我希望将其转换为Option<A>
,如果Try<Option<B>>
是其中一个已知的实现(或A
它被相应的None
实现包裹为B
,否则它被Success<B>
包围。我现在拥有的是:
Failure
这似乎不必要地太可怕了。有什么方法可以flatmap this 吗?