質問

I want to run java class in my python code and I use the tool JPype. I have a java method with a boolean argument. It works in java code but when I call it in python, I get the error message:

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

I even use the jpype wrapper JBoolean, but it still fails. For example, the code in java is:

item.myMethod(true);

and I have tried to convert it in python as:

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

but all of above get the same error message. Could anyone help me to convert the boolean argument from python to java?? thank you!!

正しい解決策はありません

他のヒント

Is the argument of your Java method defined as a boolean or a java.lang.Boolean?

If it is boolean, then all the possibilities you have tried should work (if not there might be something wrong with the way you import the Class in your Python code). However, if it's a java.lang.Boolean, then you have to call your method as such:

item.myMethod(jpype.java.lang.Boolean(True))
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top