Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/395.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Jython中,如何导入带美元符号($)的java类名,或引用带美元符号的字段或方法?_Java_Scala_Jython - Fatal编程技术网

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

在Jython中,如何导入带美元符号($)的java类名,或引用带美元符号的字段或方法?,java,scala,jython,Java,Scala,Jython,天真的尝试失败了 from mypackage import SomeClass$ 给予 javax.script.ScriptException:SyntaxError:在第1行的字符“$”处没有可行的替代方案 这个问题与java嵌套类无关,java嵌套类在Jython中很容易导入 例如,这样的类是scala.Predef$类,然后可以使用Predef$.foobar访问该类 如何实现此导入?我发现了一个使用Java反射的解决方案,如下所示: from java.lang import Cl

天真的尝试失败了

from mypackage import SomeClass$
给予

javax.script.ScriptException:SyntaxError:在第1行的字符“$”处没有可行的替代方案

这个问题与java嵌套类无关,java嵌套类在Jython中很容易导入

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


如何实现此导入?

我发现了一个使用Java反射的解决方案,如下所示:

from java.lang import Class

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

虽然不漂亮,但很管用。如果可以的话,使用Scala反射API可能更好。

您有导入类的示例吗?这是阶级内部的偶然现象吗?通常情况下,类容器$是某些东西的内部,我担心您有一个问题,我正在尝试访问scala.Predef$类,通常在java中通过“import scala.Predef$;”导入,然后通过“Predef$”引用。神圣的Polyglot蝙蝠侠。这与内部类无关。$是java类标识符的合法部分,据我所知,Jython不支持导入。