如何在Jython中导入带有美元符号($)的java类名,或者引用带有一个的字段或方法?

时间:2017-06-19 06:21:49

标签: java scala jython

天真尝试失败:例如

from mypackage import SomeClass$

给出

  

javax.script.ScriptException:SyntaxError:没有可行的替代字符' $'在第1行

这个问题与java嵌套类无关,它们可以在Jython中轻松导入。

这样的类例如是scala.Predef$类,然后可以使用Predef$.foobar访问该类。

如何实现此导入?

1 个答案:

答案 0 :(得分:0)

我找到了使用Java Reflection这样的解决方案:

from java.lang import Class

person = Class.forName("full.path.to.Person$").getField("MODULE$").get(None)

虽然不漂亮,但是可以。如果可以的话,最好使用Scala反射API。

相关问题