5
在Scala中,我們可以使用無參數方法,這對DSL的用途非常有用;它們也用於爲類字段自動定義getter。您可以在Java中聲明用於Scala的無參數方法嗎?
我正在開發一個Java庫,我希望儘可能無縫地與Scala集成。我想知道是否有方法用一個空的參數列表來註釋Java方法,以便Scala將其識別爲無參數。
例如
class Foo {
@ParameterLess
public String[] bar() { return someArray; }
}
讓Scala中我可以這樣做:
val f = new Foo
f bar (0)
無需編譯器抱怨巴()有一個空的參數列表?
另外,有沒有辦法從Java定義Scala風格的getter和setter?
注:當然,我知道,在這個特殊的例子,我可以通過定義
public String bar(int i) { return someArray[i]; }
你嘗試過吧(Object ... os)嗎? – Luciano 2012-08-14 12:59:49
您需要在您的示例中調用'f bar()(0)',以便編譯器可以區分參數和數組索引。 – aishwarya 2012-08-14 15:16:52
當然。我想知道是否有一種方法向Scala暗示'bar()應該作爲'bar' – 2012-08-15 07:06:42