在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]; }
f bar() (0)
,这样编译器才能区分参数和数组索引。 - aishwaryabar()
表现为bar
。 - Edoardo Vacchi