У меня есть Java-код, который ищет аннотации в статических методах класса.Как я могу предоставить класс объекта compaion scala для 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. –