我想在我的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? 谢谢!!
答案 0 :(得分:1)
您的Java方法的参数是定义为boolean
还是java.lang.Boolean
?
如果是boolean
,那么您尝试的所有可能性都应该有效(如果不是,您在Python代码中导入类的方式可能有问题)。但是,如果它是java.lang.Boolean
,那么你必须这样调用你的方法:
item.myMethod(jpype.java.lang.Boolean(True))