一、简介
case class是一种可以用来快速保存数据的类,可以认为是java中的pojo类,用于对象数据的保存。它自己已经帮助我们实现了以下方法
- apply(所以不需要new)
- toString
- equals
- hashCode
- copy
并且,它默认是public的,且不能被继承。
二、示例
object test {
def main(args: Array[String]): Unit = {
// 使用样例类
val person = user("aa", 11)
// 使用fun方法解构刚刚创建的对象的数据内容
val temp = fun.unapply(person)
println("name:" + temp.get._1 + "\r\n" + "age:" + temp.get._2)
}
}
object fun {
def unapply(user: user): Option[(String, Int)] = {
println("------调用unapply方法------")
Some(user.name, user.age)
}
}
// 定义样例类
case class user(name: String, age: Int)