折叠选项,而不是`if maybeT.isNone()`

时间:2012-07-17 01:49:56

标签: java functional-programming functional-java

这是与Why doesn't Option have a fold method?类似的问题,但对于functional-java。

如果选项为None,我想执行一些副作用。除了if maybeT.isNone()之外,还有什么我可以使用的吗?

我正在考虑Option<B> optionA.fold(Effect<Unit> none, F<A, B> some)

有什么东西已经存在吗?

1 个答案:

答案 0 :(得分:1)

您可以使用option method

public final <B> B option(final P1<B> b, final F<A, B> f) {
  return isSome() ? f.f(some()) : b._1();
}