【发布时间】:2012-04-20 20:59:11
【问题描述】:
在使用 Eclipse IDE 时,我无法从 Java 代码中引用 Scala 类。有问题的 Scala 类嵌套在 Scala 对象结构中。当尝试在 Java 代码中使用该类时,Eclipse 抱怨使用二进制名称。
以下是定义感兴趣的类 (Inner) 的 Scala 代码示例:
package mypackage;
object Outer {
object Middle {
class Inner {
def msg() {
println("Running");
}
}
}
}
要在 Java 代码中使用 Inner 类,我使用以下代码:
mypackage.Outer$Middle$Inner inner = new mypackage.Outer$Middle$Inner();
inner.msg();
但是,Eclipse (Indigo) 编译器在第一行显示以下消息:
嵌套类型 mypackage.Outer$Middle$Inner 无法使用其二进制名称引用
有趣的是,上面的 Java 代码在与 NetBeans 6.9.1 一起使用时可以工作。
这是 Eclipse 编译器的问题吗?是否有任何标志允许使用二进制名称?或者,这是 Scala 的问题还是我使用它的方式?
【问题讨论】:
标签: java scala eclipse-jdt scala-java-interop