tengo 2 métodos sencillos en una clase de biblioteca de Scala:cómo declarar método Scala de modo que pueda ser llamado desde Java utilizando el estilo varargs
class Foo {
def bar(args : String*) : Unit = println("Foo.bar with: " + args)
def bar(args : Array[String]) : Unit = bar(args.toSeq : _*)
}
Todo esto compila muy bien. Entonces puse esto en una biblioteca foo.jar
y tratar de compilar el siguiente trozo de Java:
import Foo
public class Test {
public static void main(String[] args) {
Foo foo = new Foo();
foo.bar("Hello", "World"); //DOES NOT COMPILE
}
}
puedo reemplazar la línea en cuestión con:
foo.bar(new String[] { "Hello", "World" }); //OK
Pero esto parece derrotar el punto. ¿Cómo puedo llamarlo desde Java usando la sintaxis similar a Java varargs?
podría ser un error tipográfico, pero foo' clase '' no tiene método foo'. –
Cheers - typo de hecho –
Estoy obviamente equivocado en lo que dije, aunque confieso que me confunde. Estoy borrando mi respuesta para evitar difundir información errónea. –