2016-01-13 40 views
1

我一直在嘗試使用JPype與Scala進行接口,並且它一直很好,但是我一直無法修改類/對象變量。要從它們中獲得值,必須將它們作爲函數調用(例如,myObj.var()可能會給出5)。我一直無法弄清楚如何重新分配一些東西給myObj.var,因爲它是一些JavaBoundMethod類型或類似的東西。這可能與JPype?用JPype修改Java/Scala類變量?

+0

這是一個非常好的項目,我做了Java的一些代碼,你仍然在這工作? – 2016-08-21 21:23:33

回答

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