如何在Java中使用Scala单例对象?
2022-09-01 04:28:48
我有一个 Scala 对象,我需要在 Java 类中使用。
这是 Scala 对象
object Person {
val MALE = "m"
val FEMALE = "f"
}
如何在Java中使用这个Scala对象?
到目前为止,我已经尝试了以下方法,但没有成功(编译错误):
-
Person.MALE()返回一个字符串,这是无用的,因为我想要实际的Person对象
我有一个 Scala 对象,我需要在 Java 类中使用。
这是 Scala 对象
object Person {
val MALE = "m"
val FEMALE = "f"
}
如何在Java中使用这个Scala对象?
到目前为止,我已经尝试了以下方法,但没有成功(编译错误):
Person.MALE()返回一个字符串,这是无用的,因为我想要实际的Person对象用。另请参见Person$.MODULE$
编辑:一个工作示例(我检查过,它编译并工作):Scala:
object Person {
val MALE = "m";
}
Java 对应项:
public class Test {
Person$ myvar = Person$.MODULE$;
public static void main(String argv[]) {
System.out.println(new Test().myvar.MALE());
}
}
如果您使用 ,则访问有点不同package object
Scala:
package my.scala.package
package object Person {
val MALE = "m";
}
Java 对应项:
public static void main() {
System.out.println(my.scala.package.Person.package$.MODULE$.MALE);
}