Scala Enumeration在java中使用

时间:2014-02-24 20:53:04

标签: scala playframework-2.2 scala-java-interop

我有这样的scala Enumeration。

object WeekDay extends Enumeration {
    type WeekDay = Value
    val Mon, Tue, Wed, Thu, Fri, Sat, Sun = Value
  }

如何在Java中使用该类?

public WeekDay getWeekDay() {
  return WeekDay.withName(this.myWeekDay);
}

它会抛出错误:

[error]   required: WeekDay
[error]   found:    Enumeration.Value

1 个答案:

答案 0 :(得分:2)

正如错误告诉您的那样,Scala Enumeration成员'的类型实际上是Value。所以:

import scala.Enumeration.Value;
//...
public Value getWeekDay() {
      return WeekDay.withName(this.myWeekDay);
}

很遗憾,Scala type aliases are not visible from Java code,因此您无法在此使用WeekDay.WeekDay