在Scala中,我们可以使用无参数方法,这对于DSL目的非常有用;它们还用于为类字段自动定义getter。
我正在开发一个Java库,我希望尽可能与Scala无缝集成。我想知道是否有办法用空参数列表注释Java方法,以便Scala将其识别为无参数。
例如
class Foo {
@ParameterLess
public String[] bar() { return someArray; }
}
所以在Scala我能做到:
val f = new Foo
f bar (0)
没有编译器抱怨bar()有一个空参数列表?
或者,有没有办法从Java定义Scala风格的getter和setter?
注意:当然我知道在这个特定的例子中我可以通过定义
解决问题public String bar(int i) { return someArray[i]; }
答案 0 :(得分:1)