说明
可以匹配对象,通过判断对象的属性,使用 样例类 可以简化开发
也可以用普通的类,但是比较复杂,需要做额外操作
例子
case class Student(name:String,gender:String,age:Int,height:Double)
def main(args: Array[String]): Unit = {
def m(std:Student) = std match {
case Student(x,"男",y,z) => "匹配性别是男的对象"
case Student(x,y,21,z) => "匹配年龄是21的对象"
case Student(x,"女",22,1.7) => "匹配性别是女,年龄是22,身高是1.7"
case _ => "没有匹配上"
}
println( m( Student("李雷","男",20,1.82) ))
println( m( Student("李四","男",21,1.82) ))
println( m( Student("韩梅梅","女",21,1.65) ))
println( m( Student("lucy","女",22,1.7) ))
}
执行结果:
匹配性别是男的对象
匹配性别是男的对象
匹配年龄是21的对象
匹配性别是女,年龄是22,身高是1.7