【发布时间】:2014-12-23 22:55:45
【问题描述】:
我有一个在类的静态方法中查找注解的 Java 代码。
processor.readStatics( MyClass.class ); // Takes Class<?>
如何在 scala 中向该函数提供 scala 伴随对象的方法?
class MyClass {
}
object MyClass {
def hello() { println("Hello (object)") }
}
我觉得:
MyClass$.MODULE$.getClass()
应该是answer。但是,MyClass$ 似乎在 scala 中缺失(至少在 2.10 中),并且仅对 Java 可见。
println( Class.forName("MyClass$.MODULE$") )
也失败了。
【问题讨论】:
-
你试过
Class.forName("MyClass$MODULE$")吗?对于内部类,不需要额外的.。 -
或
Class.forName("MyClass$$MODULE$"),因为对于内部类,我们必须使用$而不是.。 -
嗯,使用
Class.forName(MyClass$)返回的类可能就足够了。至少在 Scala 2.10.3 中可以找到它。
标签: scala static-methods scala-java-interop