2012-02-22 4 views
2

org.python.core.PyObject를 java.lang.Boolean으로 형 변환하고 싶습니다. 뭔가 비슷한에 :PyObject를 Java 부울 유형으로 변환하는 방법

boolean i = ((Boolean) PyObject).booleanValue(); 
+0

의도 한 용도는 무엇입니까? 즉 당신이 이것을 필요로하는 이유 – paislee

+0

자이 썬을 사용하여 자바 클래스에서 파이썬 메소드를 호출하고있다. 이 메소드는 PyObject를 반환합니다. 즉, 부울, 정수, 이중 관련 Java 유형으로 변환 할 수 있기를 원합니다. – Hasti

답변

2

그냥 다음 사항을 확인하시기 바랍니다

PyObject obj = interpreter.eval("True"); 
boolean i = ((PyInteger) obj).asInt() != 0; 
+0

이 대답은 자이 썬이 True를 정수로 반환한다는 것을 의미합니까? String, Float, Double 및 다른 기본 스칼라 유형은 어떻습니까? – chrisinmtown

0

당신은 파이썬 표준 객체 인터페이스를 사용한다 제로 방법 :

PyObject obj = interpreter.eval("True"); 
boolean i = obj.__nonzero__(); 

(이 호출 "제로" 왜냐하면 파이썬이 부울 타입을 가지기 전에 존재했기 때문이며 귀도의 방법은 때로는 신비 롭습니다.)

관련 문제