Scala的模式匹配(7)

复制代码
package hfd

object Test35 {
  case class Person(name:String)
  case class Student(name:String,className:String)

//match case 能根据 类名和属性的信息,匹配到对应的类
  //注意:
  //1 匹配的时候,case class的属性个数要对上
  //2 数学名不需要一一对应
  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("其他")
    }
  }
}
相关推荐
不会写DN3 分钟前
Js常用数组处理
开发语言·javascript·ecmascript
回到原点的码农3 分钟前
Spring Boot 热部署
java·spring boot·后端
还是大剑师兰特4 分钟前
数组中有两个数据,将其变成字符串
开发语言·javascript·vue.js
2301_776508724 分钟前
C++中的职责链模式实战
开发语言·c++·算法
sqyno1sky6 分钟前
C++中的空对象模式
开发语言·c++·算法
星轨初途7 分钟前
C++ 类和对象(下):初始化列表、static 成员与编译器优化深度剖析
android·开发语言·c++·经验分享·笔记
量子炒饭大师8 分钟前
【C++ 入门】Cyber动态义体——【vector容器】vector底层原理是什么?该怎么使用他?一文带你搞定所有问题!!!
开发语言·c++·vector·dubbo
AC赳赳老秦10 分钟前
OpenClaw 系统监控实战指南:构建高效的电脑/服务器状态监控与自动告警系统
服务器·开发语言·人工智能·php·ai-native·deepseek·openclaw
宝耶12 分钟前
Java面试题5:List、Set、Map 的区别?各自有哪些实现类?
java·开发语言·list
Cosmoshhhyyy12 分钟前
《Effective Java》解读第44条:坚持使用标准的函数接口
java·开发语言