我一直在尝试使用JPype与Scala进行交互,并且它一直很顺利,但我一直无法修改类/对象变量。要从中获取值,必须将它们作为函数调用(例如myObj.var()可能会给出5)。我无法弄清楚如何将某些东西重新分配给myObj.var,因为它是某种JavaBoundMethod类型或类似的东西。这可能与JPype?
答案 0 :(得分:2)
如果该成员确实被声明为var
(而不是val
),则应该有一个名为myObj.var_$eq()
的方法,您可以调用该方法。
此代码......
class Foo {
var i: Int = 0
}
...在字节码中以这样结束:
scala> :javap -s Foo
Compiled from "<console>"
public class Foo {
public int i();
public void i_$eq(int);
public Foo();
}