In Scala possiamo avere metodi parametrici, che possono essere molto utili per scopi DSL; vengono anche utilizzati per i getter auto-definenti per i campi di classe.Puoi dichiarare metodi senza parametri in Java per l'uso in Scala?
Sto sviluppando una libreria Java che vorrei integrare il più perfettamente possibile con Scala. Mi chiedevo se c'è un modo per annotare un metodo Java con un elenco di parametri vuoto in modo che Scala lo riconosca come senza parametri.
Per esempio
class Foo {
@ParameterLess
public String[] bar() { return someArray; }
}
in modo che in Scala posso fare:
val f = new Foo
f bar (0)
senza avere il compilatore di cui lamentarsi bar() con una lista di argomenti vuota?
In alternativa, c'è un modo per definire getter e setter in stile Scala da Java?
Nota: naturalmente so che in questo particolare esempio posso aggirare il problema definendo
public String bar(int i) { return someArray[i]; }
Hai provato con la barra (oggetto ... os)? – Luciano
è necessario chiamare 'f bar() (0)' nell'esempio in modo che il compilatore possa distinguere tra parametri e indice di array. – aishwarya
Naturalmente. Mi chiedevo se ci fosse un modo per suggerire a Scala che 'bar()' dovrebbe agire come 'bar' –