J'ai 2 méthodes simples dans une classe de bibliothèque scala:Comment déclarer la méthode scala de sorte qu'il peut être appelé à partir de Java en utilisant le style varargs
class Foo {
def bar(args : String*) : Unit = println("Foo.bar with: " + args)
def bar(args : Array[String]) : Unit = bar(args.toSeq : _*)
}
Tout cela Compile bien. Je mets alors cela dans une bibliothèque foo.jar
et essayer de compiler la pièce suivante de Java:
import Foo
public class Test {
public static void main(String[] args) {
Foo foo = new Foo();
foo.bar("Hello", "World"); //DOES NOT COMPILE
}
}
Je peux remplacer la ligne incriminée avec:
foo.bar(new String[] { "Hello", "World" }); //OK
Mais cela semble vaincre le point. Comment puis-je l'appeler à partir de Java en utilisant une syntaxe similaire à Java Varargs?
est peut-être une faute de frappe mais classe 'foo' n'a pas méthode' foo'. –
A bientôt - faute de frappe –
Je me trompe manifestement dans ce que j'ai dit, même si j'avoue que cela me rend confus. Je supprime ma réponse pour éviter de répandre de la désinformation. –