case class用于创建不可变的数据容器
语法如下: case class ClassName(parameter1: Type1, parameter2: Type2,...)
例如,我们要创建一个学生的case class:
case class Student(name: String, age: Int, grade: String)
package caseclass
import caseclass.caseclass01.Student
object caseclass01 {
case class Student(var id: String, var name: String) {
}
def main(args: Array[String]): Unit = {
val stu1 = new Student("1", "小花")
val stu2 = new Student("1", "小花")
println(stu1)
println(stu1 == stu2)
val set1 = Set(stu1, stu2)
println(set1)
}
}
case的特点
case class(样例类) 1.case class 可以定义对象时,省略new 2.case class 的属性在默认情况下只能是已读的。如果希望可以修改,那需要主动使用var 3.case calss 会自动重写 equals, toString...
package caseclass
/*
* case class(样例类)
* 1.case class 可以定义对象时,省略new
* 2.case class 的属性在默认情况下只能是已读的。如果希望可以修改,那需要主动使用var
* 3.case calss 会自动重写 equals, toString...
* */
object caseclass02 {
case class Student(val id: String, var name: String) {
}
class Student1(var id:String,var name:String) {
}
def main(args: Array[String]): Unit = {
val stu1 = new Student("1", "小花")
val stu2 = new Student("1", "小花")
println(stu1)
println(stu1 == stu2)
println(Student("1", "小一"))
stu1.name="小花花"
println(stu1)
}
}