gpt4 book ai didi

java - 通过 Jython 使用/创建 Python 对象

转载 作者:太空宇宙 更新时间:2023-11-04 01:44:03 24 4
gpt4 key购买 nike

你好,

假设我有一个 Java 接口(interface) B,类似这样。 B.java :

public interface B { String FooBar(String s); }

我想将它与继承 B 的 Python 类 D 一起使用,就像这样。 D.py :

class D(B):
def FooBar(s)
return s + 'e'

那么现在如何在 java 中获取 D 的实例?很抱歉我问了这样一个 n00b 问题,但 Jython 文档很糟糕/部分离线。

最佳答案

上面示例的代码。您还需要更改 FooBar 实现以采用 self 参数,因为它不是静态方法。

要编译和运行此示例,您需要在类路径中包含 jython.jar。

import org.python.core.PyObject;
import org.python.core.PyString;
import org.python.util.PythonInterpreter;
public class Main {

public static B create()
{
PythonInterpreter interpreter = new PythonInterpreter();
interpreter.exec("from D import D");
PyObject DClass = interpreter.get("D");

PyObject DObject = DClass.__call__();
return (B)DObject.__tojava__(B.class);
}

public static void main(String[] args)
{
B b = create();
System.out.println(b.FooBar("Wall-"));
}
}

有关更多信息,请参阅关于 Jython and Java integration 的章节在Jython Book

关于java - 通过 Jython 使用/创建 Python 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1582674/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com