1
我一直在嘗試使用JPype與Scala進行接口,並且它一直很好,但是我一直無法修改類/對象變量。要從它們中獲得值,必須將它們作爲函數調用(例如,myObj.var()可能會給出5)。我一直無法弄清楚如何重新分配一些東西給myObj.var,因爲它是一些JavaBoundMethod類型或類似的東西。這可能與JPype?用JPype修改Java/Scala類變量?
我一直在嘗試使用JPype與Scala進行接口,並且它一直很好,但是我一直無法修改類/對象變量。要從它們中獲得值,必須將它們作爲函數調用(例如,myObj.var()可能會給出5)。我一直無法弄清楚如何重新分配一些東西給myObj.var,因爲它是一些JavaBoundMethod類型或類似的東西。這可能與JPype?用JPype修改Java/Scala類變量?
如果成員真的被聲明爲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();
}
這是一個非常好的項目,我做了Java的一些代碼,你仍然在這工作? – 2016-08-21 21:23:33