Frage

I have a scala Enumeration like this.

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

How can I use the class in Java?

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

It throws an error:

[error]   required: WeekDay
[error]   found:    Enumeration.Value
War es hilfreich?

Lösung

As the error tells you, the type of a Scala's Enumeration members' is actually Value. So:

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

Unfortunately, Scala type aliases are not visible from Java code, so you can't use your WeekDay.WeekDay here.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top