我有一个Java库,我必须为它构建一个Python包装器。在
我使用的是py4j,很容易获得任何实例和任何类,并使用方法完成。在
问题是对象的类型与它的类不对应。在
来自python:
>>> gw = JavaGateway()
>>> a_circle = gw.jvm.com.geometry.Circle(15)
>>> a_circle.getDiameter()
30
>>> type(a_circle)
<class 'py4j.java_gateway.JavaObject'>
对于基本用法来说,这几乎是可以的,但是如果我想创建自定义构造函数呢?我应该将JavaObject
类的子类化吗?或者最好从头开始创建类,并为每个方法和构造函数调用相应的Java方法?在
有什么好的方法来实现它吗?我应该试试py4j以外的东西吗? 谢谢您!在
编辑:例如,我必须包装一个有3个方法的Java类,其中一个方法以数组作为参数,所以我必须注入一些代码来进行转换。在
^{pr2}$这很管用,但我只是在必要的时候才这么做。如果这个类只是直接工作,我不会写任何东西来包装它。在
目前没有回答
相关问题 更多 >
编程相关推荐