修复任一 Java Vavr 中的左侧

jak*_*ack 5 java functional-programming vavr

我想避免:

Either<Error, Employee> processEmployee(Employee e)
Run Code Online (Sandbox Code Playgroud)

并使用:

Result<Employee> processEmployee(Employee e)
Run Code Online (Sandbox Code Playgroud)

其中 left 是固定的:

Result<T> extends Either<Error, T>
Run Code Online (Sandbox Code Playgroud)

有这样的例子吗?

当我尝试这个时,没有任何东西可以为我编译,我被迫实现一个Result<T>我想避免的具体类。

我想这样做的原因是为了简化方法签名和使用这些方法的流代码。

Koz*_*łek 0

toTry使用接口中的方法怎么样Value?您的代码可能如下所示:

\n
public Try<Employee> processEmployee(Employee e){\n  //\xe2\x80\xa6 blebleble\n\n  var someEither<Error, Employee> = eitherResult();\n\n  return someEither.toTry();\n}\n
Run Code Online (Sandbox Code Playgroud)\n

您有 \xe2\x80\x9esimplified\xe2\x80\x9d 类型,其中包含您需要的所有内容并包含toEither()方法(如果您需要)。

\n