我有一个具有以下签名的 scala 函数:
def getValue: Validation[ Throwable, String ]
现在,我想用 Java 处理res
调用这个函数的结果(比如说)。
我可以打电话res.isSuccess()
,res.isFailure()
但我如何提取基础Throwable
或成功String
?
我尝试铸造,但(res instanceof scalaz.Failure)
在 a 中测试结果scalaz.Failure cannot be resolved to a type
(可见 scala 和 scalaz jars)
有没有一种通用的方法来为Validation
, Option
, Either
, 等等...?
编辑我意识到我可能可以使用 afold
但这会导致 Java 中出现很多丑陋的样板代码(不需要更多)。有更好看的吗?