簡體   English   中英

如何在Jython中導入帶有美元符號($)的Java類名,或引用帶有一個美元符號的字段或方法?

[英]How do I import a java classname with a dollar sign ($), or refer to a field or method with one, in Jython?

天真的嘗試失敗:例如

from mypackage import SomeClass$

javax.script.ScriptException:SyntaxError:在第1行的字符“ $”處沒有可行的替代方法

這個問題與Java嵌套類無關,后者可以在Jython中輕松導入。

例如,此類就是scala.Predef$類,然后可以使用Predef$.foobar進行訪問。

如何實現此導入?

我找到了使用Java Reflection的解決方案,如下所示:

from java.lang import Class

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

它不是很漂亮,但是可以。 如果可用的話,最好使用Scala反射API。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM