JPype:如何将boolean值从python转换为java

时间:2013-07-15 11:27:51

标签: jpype

我想在我的python代码中运行java类,并使用工具JPype。 我有一个带有布尔参数的java方法。 它适用于java代码但是当我在python中调用它时,我收到错误消息:

RuntimeError: No matching overloads found. at src/native/common/jp_method.cpp:121

我甚至使用jpype包装器JBoolean,但它仍然失败。 例如,java中的代码是:

item.myMethod(true);

我试图将它在python中转换为:

item.myMethod(1)
item.myMethod(True)
item.myMethod(jpype.JBoolean(True))
item.myMethod(jpype.JBoolean(1))

但以上所有内容都会收到相同的错误消息。 谁能帮助我将boolean参数从python转换为java? 谢谢!!

1 个答案:

答案 0 :(得分:1)

您的Java方法的参数是定义为boolean还是java.lang.Boolean

如果是boolean,那么您尝试的所有可能性都应该有效(如果不是,您在Python代码中导入类的方式可能有问题)。但是,如果它是java.lang.Boolean,那么你必须这样调用你的方法:

item.myMethod(jpype.java.lang.Boolean(True))