Scala模式匹配(二)

复制代码
一、match case 能根据 类名和属性的信息,匹配带对应的类。
注意:
        1.匹配的时候,case class的属性个数要对上
        2.属性名不需要一一对应。
Scala 复制代码
package test34

object test6 {
  case class Person(name:String)
  case class Student(name:String,className:String)
  def main(args: Array[String]): Unit = {
    val p1 = Person("黎医生")
    val s1=Student("秦彻","2(3)班")
    val a:Any=p1
    a match {
      case Person(name)=>println("普通人类??",name)
      case Student(name,className)=>println(className,"的学生",name)
      case _=>println("其他")
    }
  }
}

二、模式匹配匹配到相同年份

Scala 复制代码
package test34

object test8 {
  def main(args: Array[String]): Unit = {
    val m1=Map(
      "阿里巴巴"->1964,
      "腾讯"->1971,
      "百度"->1968,
      "小米"->1960,
      "网易"->1971,
    )
//    val t=(1969)//元组
//    println(t._2)
    //找出哪些是1971年的老板?
    //对于Map,可以for遍历
    //模式匹配
    for ((k,1971)<-m1){
      println(k)
    }
  }
}
相关推荐
dialect_8 小时前
KMP算法
开发语言·c++·算法
总要学点什么8 小时前
第89篇:三维特效-螺旋圆效果——让螺旋臂卷起一圈圈外扩的涟漪
开发语言·javascript·ecmascript·webgl·cesium·空间分析·1024程序员节
深蓝AI9 小时前
Python 3.13 的 Queue.shutdown:异步消费者终于能正常收工了
后端
武子康10 小时前
MultiNet6 空闲崩溃:`EXCVADDR=0x8` 后又出现 `CORRUPT HEAP`
人工智能·后端·agent
开开心心_Every10 小时前
快速隐藏程序工具自定义快捷键一键切换
java·开发语言·前端·spring·智能手机·word·intellij-idea
chenbingjie_c10 小时前
C++ 多态完全指南:从虚函数重写到虚函数表原理
开发语言·c++
吴卫斌10 小时前
定投ETF实战指南(四):行业/主题ETF——定投的“进攻端“
开发语言·python·股票·量化
武子康11 小时前
MultiNet7 每轮都 clean,ESP32-P4 内存为什么还在掉?
人工智能·后端·agent
超级架构师11 小时前
PRAXO-CORE 2.5.0:用 conformance 和显式边界构建 Go Agent 框架
开发语言·人工智能·后端·golang·ai编程·智能体框架·praxo-core
陈随易11 小时前
AI 运维服务器,安全又可靠的方法
前端·后端·程序员