En Scala podemos tener métodos sin parámetros, que pueden ser muy útiles para fines de DSL; también se usan para obtener automáticamente getters para campos de clase.¿Puede declarar métodos sin parámetros en Java para usar en Scala?
Estoy desarrollando una biblioteca Java que me gustaría integrar tan perfectamente como sea posible con Scala. Me preguntaba si hay una forma de anotar un método Java con una lista de parámetros vacía para que Scala lo reconozca como sin parámetros.
Por ejemplo
class Foo {
@ParameterLess
public String[] bar() { return someArray; }
}
para que en Scala que puedo hacer:
val f = new Foo
f bar (0)
sin tener el compilador para quejarse de la barra() que tiene una lista de argumentos vacía?
Alternativamente, ¿hay alguna manera de definir getters y setter de estilo Scala desde Java?
Nota: Por supuesto que sé que en este ejemplo particular que pueda solucionar el problema mediante la definición de
public String bar(int i) { return someArray[i]; }
¿Has probado con bar (Object ... os)? – Luciano
necesita llamar 'f bar() (0)' en su ejemplo para que el compilador pueda diferenciar entre parámetros e índice de matriz. – aishwarya
Por supuesto. Me preguntaba si había una forma de insinuarle a Scala que 'bar()' debería actuar como 'barra' –