代码之家  ›  专栏  ›  技术社区  ›  Joe Malt

从Jython访问scala singleton对象

  •  0
  • Joe Malt  · 技术社区  · 7 年前

    我在Python中工作,试图用Jython调用一些Java/Scala库。我正在使用的一个Scala库有SuntLon对象,这些对象可以从Java中调用如下:(参见 this answer )

    Person$.MODULE$
    

    我不能在代码中这样做,因为$sign在python中是一个语法错误:

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

    如何从python/jython访问这个对象?

    1 回复  |  直到 7 年前
        1
  •  0
  •   Joe Malt    7 年前

    我通过思考找到了一个解决办法。带有$符号的类的名称作为字符串文本提供。

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