Java наследуемый класс в Scala приводит к ошибке несоответствия типов - PullRequest
0 голосов
/ 31 января 2019

Я новичок в Scala, поэтому, пожалуйста, несите в моем коде какие-либо помехи.Я пытаюсь переделать какой-то код Scala, который мне дали.Когда я пытаюсь использовать наследование Java, я получаю несоответствие типов;найденная ошибка выделена в затмении.

Я использую sbt для генерации артефактов затмения и могу импортировать проект в eclipse. Код с ошибкой приведен ниже.

Интерфейс:

public interface InnerClassGen {

    static public interface IFactory {
      InnerInter innerInt = null;
      /** A String giving the canonical value of symbol. */
        //@ pure
        Integer value();
        @Override
        String toString();
    }
}

public class InnerClassImpl implements InnerClassGen {

   static public class Node implements IFactory{

      @Override
      public Integer value() {
        // TODO Auto-generated method stub
        return null;
      }
   }
}

Соответствующий файл Scala:

object SMTExprVisitor {
   protected var NODE: InnerClassGen.IFactory = new InnerClassImpl.Node()
}

class SMTExprVisitor{
.....
}

Я хотел бы знать, где я иду не так.Может ли кто-то также указать мне соответствующие ссылки, если таковые имеются?

1 Ответ

0 голосов
/ 17 мая 2019

В общем, вы должны всегда рассматривать только ошибки компиляции, вызванные SBT (или скалярными напрямую), как реальные.Из-за сложности языка и ограниченной интеграции с компилятором среды разработки Scala могут выделять код как имеющий ошибки, когда его нет, и не могут находить ошибки, которые существуют.

Хотя Eclipse должен быть лучше в этом, чем IDEA / Android Studio из-за использования «презентационного компилятора» , который расширяет основной компилятор Scala, очевидно, вы все еще сталкиваетесь с этимне обрабатывает.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...