如何在scala中指定Foo.class

  • 本文关键字:Foo class scala java scala
  • 更新时间 :
  • 英文 :


我使用的java API看起来像:

import com.google.code.morphia.Morphia;
.....
     val morphia = new Morphia();
     morphia.map(Hotel.class).map(Address.class);

但是它给scala编译器带来了错误。上面scala中的正确代码是什么?请注意,.map被定义为morphia API,不要与scala映射混淆。

假设问题出在.class部分,那么Hotel.class的Scala等价物将是classOf[Hotel]Address也是如此。

希望这能解决您的问题,尽管如果不看到完整的编译器输出,很难判断。

您应该使用classOf[Hotel]

编辑:查看API后;你真正想要的是:

classOf[T]

例如。

classOf[Hotel]

更多关于Scala类型系统的信息。


错误的答案,但可能有用,如果有人被这个问题误导标题:

class是Scala中的一个保留字。如果你想把它用作字段或方法名,你需要用反勾号把它括起来:

Hotel.`class`

最新更新