如何访问 jython 代码中的 javas“.class”属性?

How do I access javas ".class" attribute in jython code?

在 java 中,我的代码如下所示:

new Injector(ClassToInjectOn.class, whatever)

所以,注入器 class 需要一些 Class<> 参数。 在 Java.

中做事时工作正常

但现在我想使用 jython 配置一个注入器对象。

我试过了:

Injector(ClassToInjectOn.class, whatever) 

结果:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: instance attr: class

我试过自动完成;并发现我可以使用 ClassToInjectOn.__class__ ...但是传递给注入器的 Class 对象将是 java.lang.Class (但应该是 ClassToInjectOn.class)。

不幸的是,搜索 python 和“.class”并没有真正提供有用的答案。

在pythonClassToInjectOnclass对象。这就是为什么 ClassToInjectOn.__class__ 给你 java.lang.Class,因为那是 class 对象的 class。所以你只需要写:

Injector(ClassToInjectOn, whatever)