【问题标题】:modify Java/Scala class variables with JPype?用 JPype 修改 Java/Scala 类变量?
【发布时间】:2016-04-17 22:54:21
【问题描述】:

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

【问题讨论】:

  • 这是一个非常好的项目,我在Java上做了一些代码,你还在做这个吗?

标签: scala jpype


【解决方案1】:

如果该成员确实被声明为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();
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-15
    • 2016-05-24
    • 2015-04-07
    • 2012-10-22
    • 2011-11-08
    • 2019-01-01
    相关资源
    最近更新 更多