如何在Java中使用Scala单例对象? [英] How can I use a Scala singleton object in Java?

查看:544
本文介绍了如何在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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆