Skip to content
Scala

Case Classes

Classes de dados imutáveis com equals/hashCode/toString gerados automaticamente.

#case-class#data#immutable

Code

scala
case class Point(x: Double, y: Double)

val p1 = Point(1.0, 2.0)
val p2 = Point(1.0, 2.0)

// Auto-generated equality
p1 == p2  // true

// Auto-generated copy with changes
val p3 = p1.copy(y = 5.0)  // Point(1.0, 5.0)

// Destructure in pattern matching
p1 match {
  case Point(x, y) => s"($x, $y)"
}