在 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]; }