scala的匹配样例类

匹配样例类
scala可以使用模式匹配来匹配样例类,从而可以快速获取样例类中的成员数据。后续,我们在开发Akka案例时,还会用到。
示例
需求说明
创建两个样例类Customer、Order
Customer包含姓名、年龄字段
Order包含id字段
分别定义两个案例类的对象,并指定为Any类型
使用模式匹配这两个对象,并分别打印它们的成员变量值
参考代码:

// 1. 创建两个样例类
case class Person(name:String, age:Int)
case class Order(id:String)

def main(args: Array[String]): Unit = {
    // 2. 创建样例类对象,并赋值为Any类型
    val zhangsan:Any = Person("张三", 20)
    val order1:Any = Order("001")

    // 3. 使用match...case表达式来进行模式匹配
    // 获取样例类中成员变量
    order1 match {
        case Person(name, age) => println(s"姓名:${name} 年龄:${age}")
        case Order(id1) => println(s"ID为:${id1}")
        case _ => println("未匹配")
    }
}

在这里插入图片描述
结果:
在这里插入图片描述

发布了145 篇原创文章 · 获赞 338 · 访问量 22万+

猜你喜欢

转载自blog.csdn.net/qq_45765882/article/details/104335065
今日推荐