Scala 中的 Java 继承类导致类型不匹配错误

标签 java scala inheritance

我是 Scala 新手,所以请容忍我的代码中的任何错误。我正在尝试重新设计一些给我的 Scala 代码。当我尝试使用 Java 继承时,我遇到类型不匹配的问题;发现错误在 Eclipse 中突出显示。

我正在使用 sbt 生成 eclipse 工件,并且能够在 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{
.....
}

我想知道我错在哪里。有人还可以向我指出相关链接吗?

最佳答案

一般来说,您应该始终只将 SBT(或直接 scalac)产生的编译错误视为真实错误。由于语言的复杂性以及与编译器的集成有限,Scala IDE 既可以在代码没有错误时将其突出显示为有错误,也无法找到确实存在的错误。

虽然 Eclipse 在这方面应该比 IDEA/Android Studio 更好,因为它使用 "presentation compiler"它扩展了主 Scala 编译器,显然您仍然遇到它无法处理的情况。

关于Scala 中的 Java 继承类导致类型不匹配错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54460435/

相关文章:

java - 从循环添加到多维数组

java - 使用 Spring Batch 逐行插入数据修复列表大小问题

scala - 一种更好的模式匹配树状选项结构的实现

ScalaMock 模拟一个特征给出 "MockFunction1 cannot be cast to StubFunction1"

C++继承公共(public)和私有(private)?

java - Maven、CDI、JUnit、JPA。想要针对 HSQLDB 运行测试

java - Spring Security 将 URL 参数传递给身份验证提供程序

scala - Lagom的嵌入式Kafka在杀死Lagom进程一次后无法启动

c++ - 单例混合 C++

css - 如何使CSS中的内部UL列表不继承外部UL列表