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)
    }
  }
}
相关推荐
元闰子4 分钟前
分离还是统一,这是个问题
后端·面试·架构
ATaylorSu5 分钟前
经典算法之美:冒泡排序的优雅实现
开发语言·笔记·学习·算法
寻月隐君13 分钟前
Rust Scoped Threads 实战:更安全、更简洁的并发编程
后端·rust·github
爷_1 小时前
手把手教程:用腾讯云新平台搞定专属开发环境,永久免费薅羊毛!
前端·后端·架构
FlechazoCLF1 小时前
QT中使用OpenCV保姆级教程
开发语言·qt·opencv
山间小僧1 小时前
「查漏补缺」ZGC相关内容整理
java·jvm·后端
lifallen1 小时前
AbstractExecutorService:Java并发核心模板解析
java·开发语言·数据结构·算法
weixin_437499922 小时前
【PHP 构造函数与析构函数:从基础到高级的完整指南】
开发语言·php
Mu.3872 小时前
加密与安全
java·开发语言
程序视点2 小时前
FDM下载神器:免费多线程下载工具,速度90+M/S,完美替代1DM!
windows·后端