2012-02-22 17 views
2

org.python.core.PyObjectをjava.lang.Booleanにキャストしたいと思います。 何か類似した:PyObjectをjavaブール型に変換する方法

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

使用目的は?つまり、なぜあなたはこれを必要としているのですか? – paislee

+0

Jythonを使用して、JavaクラスからPythonメソッドを呼び出しています。このメソッドはPyObjectを返します。つまり、論理型、整数、倍精度浮動小数点型を関連するJava型に変換できるようにしたい – Hasti

答えて

2

ちょうど、次の試してください。

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

この答えは、JythonがTrueを整数に戻してJavaに戻すことを意味しますか? String、Float、Doubleなどの基本的なスカラー型はどうですか? – chrisinmtown

0

あなたはPythonの標準オブジェクト・インタフェースを使用する必要がありますゼロ以外方法:

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

(それを呼び出して "ゼロでありません" Pythonがブール型を持ち、Guidoの方法が時々不思議である前に存在していたため)

関連する問題