1

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

4

1 回答 1

2

如果该成员确实被声明为 a var(而不是 a 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();
}
于 2016-01-13T07:32:49.947 回答