Я хотел бы бросить org.python.core.PyObject в java.lang.Boolean. Нечто подобное:Как преобразовать PyObject в java boolean типа
boolean i = ((Boolean) PyObject).booleanValue();
Я хотел бы бросить org.python.core.PyObject в java.lang.Boolean. Нечто подобное:Как преобразовать PyObject в java boolean типа
boolean i = ((Boolean) PyObject).booleanValue();
Просто попробуйте следующее:
PyObject obj = interpreter.eval("True");
boolean i = ((PyInteger) obj).asInt() != 0;
Означает ли этот ответ, что Jython возвращает True как целое число обратно в Java? Что относительно String, Float, Double и других базовых скалярных типов? – chrisinmtown
Вы должны использовать стандартный интерфейс объекта Python ненулевая метод:
PyObject obj = interpreter.eval("True");
boolean i = obj.__nonzero__();
(это называется "ненулевой" потому что он существовал до того, как у Python был булев тип, а способы Guido иногда таинственны)
Каково ваше намерение использования? Зачем вам это нужно – paislee
Я использую Jython для вызова метода python из класса java. Этот метод возвращает PyObject. то есть boolean, integer, double Я хотел бы иметь возможность преобразовывать их в соответствующие типы java – Hasti