JPype: как преобразовать логическое значение из Python в Java
Я хочу запустить Java-класс в моем коде Python, и я использую инструмент 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))
но все вышеперечисленное получает одно и то же сообщение об ошибке. Может ли кто-нибудь помочь мне преобразовать логический аргумент из Python в Java? благодарю вас!!
1 ответ
Аргумент вашего метода Java определен как boolean
или java.lang.Boolean
?
Если это boolean
, тогда все возможности, которые вы попробовали, должны работать (если нет, то может быть что-то не так с тем, как вы импортируете Class в своем коде Python). Однако, если это java.lang.Boolean
тогда вы должны вызвать свой метод как таковой:
item.myMethod(jpype.java.lang.Boolean(True))