2013-07-15 2 views
0

파이썬 코드에서 자바 클래스를 실행하고 JPype 도구를 사용합니다. 부울 인수가있는 java 메소드가 있습니다. 은 자바 코드에서 작동하지만 내가 파이썬에서 그것을 호출 할 때, 나는 오류 메시지가 얻을 :JPype : 파이썬에서 부울 값을 자바로 변환하는 방법

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

나는 심지어 jpype 래퍼 jboolean에를 사용합니다,하지만 여전히 실패합니다. 예를 들어, 자바의 코드는 다음과 같습니다

item.myMethod(true); 

나는 파이썬으로 변환하는 것을 시도했다 :

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

하지만 위의 모든 같은 오류 메시지가 표시됩니다. 파이썬에서 부울 인수를 자바로 변환하는 데 도움을 줄 수 있습니까? 감사합니다.

답변

1

Java 메소드의 인수가 boolean 또는 java.lang.Boolean으로 정의되어 있습니까?

boolean 인 경우 시도한 모든 가능성이 작동합니다 (그렇지 않은 경우 Python 코드에서 클래스를 가져 오는 방식에 문제가있을 수 있음). 그러나 java.lang.Boolean 인 경우 다음과 같이 메소드를 호출해야합니다.

item.myMethod(jpype.java.lang.Boolean(True)) 
관련 문제