用JPype修改Java / Scala类变量?

时间:2016-01-13 04:57:22

标签: scala jpype

我一直在尝试使用JPype与Scala进行交互,并且它一直很顺利,但我一直无法修改类/对象变量。要从中获取值,必须将它们作为函数调用(例如myObj.var()可能会给出5)。我无法弄清楚如何将某些东西重新分配给myObj.var,因为它是某种JavaBoundMethod类型或类似的东西。这可能与JPype?

1 个答案:

答案 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();
}