如何在Java中使用Scala单例对象? [英] How can I use a Scala singleton object in Java?
本文介绍了如何在Java中使用Scala单例对象?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一个需要在Java类中使用的Scala对象。
I have a Scala object that I need to use in a Java class.
这是Scala对象
object Person {
val MALE = "m"
val FEMALE = "f"
}
如何在Java中使用这个Scala对象?
How can I use this Scala object in Java?
到目前为止,我已经尝试了以下但没有成功(编译错误):
I have tried the following so far without success (compile errors):
-
Person.MALE()
//返回一个无用的字符串,因为我想要实际的Person对象
Person.MALE()
//returns a String which is useless as I want the actual Person object
推荐答案
使用 Person $ .MODULE $
。另请参阅
- How can I pass a Scala object reference around in Java?
- Singletons as Synthetic classes in Scala?
编辑:一个工作示例(我检查过,编译并运行):
Scala:
Edit: A working example (I checked, it compiles and works): 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());
}
}
这篇关于如何在Java中使用Scala单例对象?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文