我想将 java 内部类导入到 Scala 项目中。无法编译的代码如下所示:
import pac.Obj
import pac.Obj.Inner.Inner2
object Sample {
def main(args: Array[String]): Unit = {
var o = new Obj()
Inner2 i2 = o.getInner().addInner2("some text")
}
}
Scala 编译器无法识别第二个导入。这是为什么?在 Java 中,这种构造工作正常。
最佳答案
如果 Inner
类是 static
,它就可以工作。
如果不是,那么您就不走运了(但您真的需要它吗?)。但是您可以像这样使用带有 #
分隔符的名称:
var inner = outer.getInner : Outer#Inner
关于Java内部类导入Scala项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8103942/