Я использую библиотеку scala из java, в частности функцию, которая возвращает Either[A, B]
. В моем Java коде, который я могу сделать:Использование scala.Iither из 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?
Проблема в том, что я даже не могу импортировать RightProjection из Java. Так что результат result.right(). Get() не будет компилироваться. Я предполагаю, что RightProjection вложен в объект «Лицо сопутствующего» в исходном файле, поэтому он скрыт от перспективы Java? – user378465
Ваша IDE должна показывать вам тип возврата 'right()', использовать это для импорта. Я предполагаю, что это 'scala.util.Either $ RightProjection' или' scala.util.Either $ RightProjection $ '. –
Включили ли вы файл Scala JAR в вашу среду IDE? Если нет, сделайте это, тогда он должен работать. Вам нужно 'scala-library.jar', он содержит байтовый код для соответствующих классов. –