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)
    }
  }
}
相关推荐
brzhang26 分钟前
我写了个脚本,让AI每天自动看完热榜、写稿、配乐,还用我的声音读出来
前端·后端·架构
bobz9651 小时前
vscode 使用 trunk code
后端
天天摸鱼的java工程师1 小时前
你如何处理一个高并发接口的线程安全问题?说说你做过的优化措施
java·后端
JohnYan1 小时前
Bun技术评估 - 11 Websocket
javascript·后端·bun
HEY_FLYINGPIG1 小时前
【FLASK】FLASK应用中的多用户并行登录与加密
后端·python·flask
fydw_7151 小时前
Flask-login 处理授权逻辑
后端·python·flask
ZHOU_WUYI1 小时前
Flask 动态模块注册
后端·python·flask
全干engineer1 小时前
Web3-Web3.js核心操作:Metamask、合约调用、事件订阅全指南
开发语言·javascript·web3·区块链·智能合约
Micro麦可乐1 小时前
最新Spring Security实战教程(十八)安全日志与审计:关键操作追踪与风险预警
java·spring boot·后端·安全·spring·安全审计
刘一说2 小时前
资深Java工程师的面试题目(六)数据存储
java·开发语言·数据库·面试·性能优化