case class
样例类,相对于普通的类,它有三点不同
1、 在创建对象的时候,可以省略 new
2、 可以直接使用类的成员
3、 默认情况下,直接提供了 equals,toString 等方法
特别适合用来做模式匹配
object caseclass01 {
class Stu(var name:String,var age:Int) {
override def equals(obj: Any): Boolean = {
val other =obj.asInstanceOf[Stu]
other.age==age && other.name==name
}
override def toString: String = s"Stu(${name},${age})"
}
def main(args: Array[String]): Unit = {
val stu1=new Stu("小花",18)
val stu2=new Stu("小花",18)
println(stu1)
println(stu1==stu2)
val set1=Set(stu1,stu2)
println(set1)
}
}
case class Stu(name: String, age: Int)
object caseclass02 {
def main(args: Array[String]): Unit = {
val stu1= Stu("小花",18)
val stu2 =Stu("小花",18)
println(stu1)
println(stu1==stu2)
val set1=Set(stu1,stu2)
println(set1)
}
}