我正在使用来自 java 的 scala 库,特别是一个返回 Either[A, B]
的函数。在我的 java 代码中我可以这样做:
scalaFunction.callMethod(new Function<Either<A, B>>() {
public byte[] apply(Either<A, B> result) {
B right = result.right().???
}
}
result.right()
返回一个 RightProjection
,但我无法在 Java 中导入它(使用 IntelliJ)。有没有正确的方法来处理 Java 中的 Either 对象?
最佳答案
我没有测试这个,但是根据 RightProjection
的 ScalaDoc ,您应该能够调用 get()
。请注意,如果 result
不是 Right
,则会引发异常。
为了在 IDE 中使用 Scala 类,IDE 需要了解它们。因此,您需要将 scala-library.jar
添加到 IDE 中指定的构建路径中。对于 IDE(以及 Java 编译器和运行时),Scala 只是一个常规库,它是所有用 Scala 编写的库和程序的依赖项。
关于java - 使用 scala.Either 来自 Java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14966321/