У меня проблема с использованием интерфейса Java в моем классе Scala. Вот проблема.При использовании интерфейса Java в Scala компилятор жалуется, что метод не реализован
Во-первых, это упрощенная Java интерфейс:
java.util.concurrent.TimeUnit;
import Message;
public interface JavaInterface {
public Message get(int param1, Long param2, TimeUnit unit);
}
Тогда у меня есть класс Scala, который пытается использовать этот интерфейс
java.util.concurrent.TimeUnit
import Message
class ScalaClass extends JavaInterface {
def get(param1:Int, param2: Long, unit:TimeUnit):Message = {
new Message("Just a test")
}
}
Но при компиляции, компилятор Scala держит жалуясь что функция get() не была реализована в ScalaClass:
класс ScalaClass должен быть абстрактным, поскольку: [ошибка] у него есть 1 un членов. [error]/** Как видно из класса ScalaClass, отсутствующие подписи выглядят следующим образом. [ошибка] * Для удобства, они могут использоваться в качестве реализации заглушек. [ошибка] */ [error] def get (x $ 1: Int, x $ 2: Long, x $ 3: java.util.concurrent.TimeUnit): Сообщение = ???
Я подозреваю, что это может быть из-за того, что Scala не нравится, что Java int, но я не смог заставить это работать, есть ли у кого-нибудь идеи?
Спасибо IS
A Возможно, интерфейс Java должен был иметь 'long' вместо' Long'? –