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)
    }
  }
}
相关推荐
Dxxyyyy11 分钟前
零基础学JAVA--Day26(枚举类)
java·开发语言
间彧13 分钟前
云原生,与云计算、云服务的区别与联系
后端
好望角雾眠17 分钟前
第四阶段C#通讯开发-6:Socket之UDP
开发语言·笔记·学习·udp·c#
升鲜宝供应链及收银系统源代码服务25 分钟前
升鲜宝生鲜配送供应链管理系统---PMS--商品品牌多语言存储与 Redis 缓存同步实现
java·开发语言·数据库·redis·缓存·开源·供应链系统
大佬,救命!!!27 分钟前
python实现象棋
开发语言·python·学习笔记·pygame·少儿编程·记录成长
棉猴28 分钟前
《pygame中Sprite类实现多帧动画》注-通过多张序列帧显示动画2-2
开发语言·python·游戏·游戏程序·pygame
练习时长一年36 分钟前
Spring AoP的切点匹配
java·开发语言
canonical_entropy1 小时前
最小信息表达:从误解到深层理解的五个关键点
后端·架构
郝开1 小时前
Spring Boot 2.7.18(最终 2.x 系列版本):版本概览;兼容性与支持;升级建议;脚手架工程搭建
java·spring boot·后端
霜绛1 小时前
C#知识补充(一)——ref和out、成员属性、万物之父和装箱拆箱、抽象类和抽象方法、接口
开发语言·笔记·学习·c#