patrones - patron singleton java example
¿Cómo puedo usar un objeto singleton de Scala en Java? (2)
Tengo un objeto Scala que necesito usar en una clase Java.
Aquí está el objeto Scala
object Person {
val MALE = "m"
val FEMALE = "f"
}
¿Cómo puedo usar este objeto Scala en Java?
Hasta ahora, he intentado lo siguiente sin éxito (compilación de errores):
-
Person.MALE()
// devuelve una Cadena que es inútil ya que quiero el objeto Person real
En caso de que use un package object
, el acceso es un poco diferente
Scala:
package my.scala.package
package object Person {
val MALE = "m";
}
Contraparte de Java:
public static void main() {
System.out.println(my.scala.package.Person.package$.MODULE$.MALE);
}
Use Person$.MODULE$
. Ver también
- ¿Cómo puedo pasar una referencia de objeto Scala en Java?
- Singletons como clases sintéticas en Scala?
Editar : Un ejemplo de trabajo (lo revisé, compila y funciona): Scala:
object Person {
val MALE = "m";
}
Contraparte de Java:
public class Test {
Person$ myvar = Person$.MODULE$;
public static void main(String argv[]) {
System.out.println(new Test().myvar.MALE());
}
}