从Jython访问Scala单例对象

时间:2018-07-30 23:21:04

标签: scala jython

我正在使用Python并尝试使用Jython调用一些Java / Scala库。我正在使用的一个Scala库具有单例对象,可以从Java这样调用它:(请参见this answer

Person$.MODULE$

我无法在代码中执行此操作,因为$符号是Python中的语法错误:

person = Person.MODULE$.apply()
                     ^
SyntaxError: no viable alternative at character '$'

如何从Python / Jython访问此对象?

1 个答案:

答案 0 :(得分:0)

我找到了使用反射的解决方案。带有$符号的类的名称作为字符串文字提供。

from java.lang import Class

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