How to create an enumeration of constants with and without explicit values in Scala

1 Answer

0 votes
/* 
   Title: Enumeration of Constants in Scala
   Example with and without explicit values
*/

// -------------------------------
// Enum WITHOUT explicit values
// Scala automatically assigns ordinal positions
// -------------------------------
object Color extends Enumeration {
  val Red, Green, Blue = Value
}

// -------------------------------
// Enum WITH explicit values
// Scala allows assigning custom integer IDs
// -------------------------------
object Status extends Enumeration {
  val OK       = Value(1, "OK")
  val Warning  = Value(5, "Warning")
  val Error    = Value(6, "Error")
  val Critical = Value(10, "Critical")
}

object Main {
  def main(args: Array[String]): Unit = {

    println("Enum without explicit values:")
    println("Red = " + Color.Red.id)
    println("Green = " + Color.Green.id)
    println("Blue = " + Color.Blue.id)

    println("\nEnum with explicit values:")
    println("OK = " + Status.OK.id)
    println("Warning = " + Status.Warning.id)
    println("Error = " + Status.Error.id)
    println("Critical = " + Status.Critical.id)
  }
}



/* 
run:

Enum without explicit values:
Red = 0
Green = 1
Blue = 2

Enum with explicit values:
OK = 1
Warning = 5
Error = 6
Critical = 10

*/

 



answered Apr 26 by avibootz

Related questions

...