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

new Injector(ClassToInjectOn.class, whatever)


因此,Injector类需要一些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”并不能真正提供有用的答案。

最佳答案

在python中,ClassToInjectOn是类对象。这就是ClassToInjectOn.__class__为您提供java.lang.Class的原因,因为这就是类对象的类。所以你只需要写:

Injector(ClassToInjectOn, whatever)

关于java - 如何在jython代码中访问javas“.class”属性?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35312898/

10-09 00:39