如何从Java访问Scala包对象中包含的对象Foo?

前端之家收集整理的这篇文章主要介绍了如何从Java访问Scala包对象中包含的对象Foo?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
如何从 Java访问Scala包对象中包含的对象Foo?
package object domain { object Foo }  domain$.MODULE$.Foo$.MODULE$

解决方法

也许这一点与Scala 2.8.1一样,但是建议的域$Foo $.MODULE $不起作用.你必须使用domain.package $Foo $.MODULE $.

对于对象,方法等来说,它有点不同.给出了scala类:

package object domain {
  object foo
  def bar = 42
  val baz = 1.0
}

您可以访问Java中的foo,bar和baz,如:

domain.package$foo$.MODULE$
domain.package$.MODULE$.bar()
domain.package$.MODULE$.baz()

当我试图弄清楚这一点的时候,我以为我们有麻烦,因为Scala生成一个名为package的类,当然你不能用Java导入.幸运的是,我们只需要可以导入的$companion对象.

猜你在找的Java相关文章