scala案例类怎么定义
Scala案例类是Scala中的一种特殊类,是一种把数据和功能结合在一起的类,它是一种特殊的类,可以替代Java中的JavaBean。Scala案例类比普通类更加简洁,更加方便,更加容易使用。
Scala案例类的定义非常简单,只需要在类名前面加上关键字case即可,如:
case class Person(name: String, age: Int)
这样,就定义了一个Person案例类,它有两个属性:name和age。
Scala案例类的一些特性:
1、Scala案例类可以定义多个参数列表,可以使用构造函数构造对象:
case class Person(name: String, age: Int, address: String)
val p = Person("Tom", 18, "Beijing")
2、Scala案例类不需要实现任何方法,它会自动帮你实现一些常用的方法,比如toString、hashCode等:
println(p.toString) // Person(Tom,18,Beijing)
3、Scala案例类可以使用模式匹配:
p match {
case Person(name, age, address) => println(s"name is $name, age is $age, address is $address")
case _ => println("unknown")
}
4、Scala案例类可以自动实现equals和copy方法:
val p2 = Person("Tom", 18, "Beijing")
println(p == p2) // true
val p3 = p.copy(name = "Jack")
println(p3.name) // Jack
5、Scala案例类可以支持可变参数:
case class Person(name: String, age: Int, address: String*)
val p = Person("Tom", 18, "Beijing", "Shanghai", "Guangzhou")
println(p.address.mkString(",")) // Beijing,Shanghai,Guangzhou
总结:Scala案例类可以让我们更加简洁地定义类,可以自动实现一些方法,可以使用模式匹配,可以支持可变参数,是Scala编程中非常有用的一种特殊类型。
相关文章