У меня проблема при использовании Jython, но я не могу найти решение в документации.
По сути, у меня есть объект, который был создан в Java, и я хочу создать экземпляр другого объекта Java (в скрипте python) и добавить в объект, который я создал в интерпретаторе jython, предварительно созданный объект java .
Например:
public class A {
private B bInstance;
public void setB(B bval) {
bInstance = b;
}
}
public class B {
private String name;
public String getName() {
return name;
}
public void setName(String n) {
this.name = n;
}
}
скрипт Python (есть экземпляр B, связанный как "b_inst"):
import com.package.A
a_inst = com.package.A()
a_inst.setB(b_inst)
Когда я пытаюсь запустить приведенный выше код, я получаю следующее исключение:
Ошибка типа: setB (): ожидается 2 аргумента; получил 1
Я почти уверен, что это потому, что метод setB () пытается вызвать метод для объекта Python, а не для фактического объекта Java. По сути, я ожидаю, что вызов setB () для экземпляра A, который я только что создал в скрипте jython, будет объектом java, а не объектом python.
Извините, если это очевидно, я прочитал учебники, а также разделы Jython "Java in Nutshell" и "Core Python Programming", но примеры действительно очень просты, у них нет примеров того, как выполните эту двустороннюю привязку.