J'ai un objet Scala que je dois utiliser dans une classe Java.
Voici l'objet Scala
object Person {
val MALE = "m"
val FEMALE = "f"
}
Comment utiliser cet objet Scala en Java?
J'ai essayé ce qui suit sans succès jusqu'à présent (erreurs de compilation):
Person.MALE()
// retourne une chaîne qui est inutile car je veux l'objet réel de la personneUtilisez Person$.MODULE$
. Voir également
Edit : Un exemple de travail (j'ai vérifié, il compile et fonctionne): Scala:
object Person {
val MALE = "m";
}
Contrepartie Java:
public class Test {
Person$ myvar = Person$.MODULE$;
public static void main(String argv[]) {
System.out.println(new Test().myvar.MALE());
}
}
Si vous utilisez un package object
, l'accès est un peu différent
Scala:
package my.scala.package
package object Person {
val MALE = "m";
}
Contrepartie Java:
public static void main() {
System.out.println(my.scala.package.Person.package$.MODULE$.MALE);
}