第27讲:Type、Array、List、Tuple模式匹配实战解析
发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,除了普通的×××、字符串类型的模式匹配,scala还提供了很多形式的模式匹配。例如Type、Array、List、Tuple我们通过代码来说明。类型模式匹配:判断传入值的类型 def match
千家信息网最后更新 2026年11月03日第27讲:Type、Array、List、Tuple模式匹配实战解析
除了普通的×××、字符串类型的模式匹配,scala还提供了很多形式的模式匹配。例如Type、Array、List、Tuple
我们通过代码来说明。
类型模式匹配:判断传入值的类型
def match_type(t : Any) = t match { case p : Int => println("It is a Integer!") case p : String => println("It is a String! the content is :"+p) case m : Map[_,_] => m.foreach(println) case _ => println("Unknown Type") } match_type(1) match_type("Spark") match_type(Map("Spark"->"scala language"))运行结果如下
It is a Integer!It is a String! the content is :Spark(Spark,scala language)
特殊说明Map[_,_]中的两个_,表示任意类型。等同于type Map = Predef.Map[A, B] 但是不能写成Map[Any,Any]
数组模式匹配:
def match_array(arr : Any) = arr match { case Array(x) => println("Array(1):",x) // 长度为1的数组,x代表数组中的值 case Array(x,y) => println("Array(2):",x,y) // 长度为2的数组,x代表数组中的第一个值 case Array(x,_*) => println("任意一维数组:",x) //任意长度数组,取第一个值 case Array(_*) => println("任意一维数组") //任意长度数组 } match_array(Array(0)) match_array(Array("spark")) match_array(Array("spark","scala")) match_array(Array("spark","scala",0,4))列表匹配:
def match_list(lst : Any) = lst match { case 0 :: Nil => println("List:"+0) //Nil表示空列表 case List(x) => println("List:"+x) case x :: y :: Nil => println("List:"+x) case x :: tail => println("List:"+"多元素List") //tail表示List的剩下所有元素 } match_list(List(0)) match_list(List("spark")) match_list(List("spark","hadoop")) match_list(List("spark",1,2,4,5))元组匹配
def match_tuple(t : Any) = t match { case (0,_) => println("二元元组,第一个值为0") case (x,y) => println("二元元组,值为:"+x+","+y) case _ => println("something else") } match_tuple((0,'x')) match_tuple(('y','x')) match_tuple((0,1,2,3))
数组
模式
类型
长度
代表
元素
一维
普通
特殊
两个
代码
字符
字符串
形式
结果
运行
实战
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
上海挚品互联网科技有限公司
互联网电商科技
金融科技与互联网金融
互联网 科技创新
致骋互联网科技
互联网科技的英文
时间互联网络科技
无锡溥仪互联网科技有限公司
互联网 科技馆
互联网科技中介
注册互联网科技公司经营范围大全
互联网科技人工智能实验室
中国互联网公司排名锤子科技
山东子淼互联网科技有限公司
每天都有哪些好的互联网科技
雨阳互联网卡科技有限公司
启辰互联网科技
皮皮虾互联网科技有限公司
吉林省码上互联网科技电话
上海互联网科技园景观
西安纸贵互联网科技有限公司
科技赋能下的互联网金融
亿账通互联网科技
互联网为啥属于高科技
千方科技属于互联网企业吗
宜昌元轩互联网科技有限公司
苏州铭阳互联网科技有限公司
用友工业互联网科技发展
宇信科技在杭州互联网排第几
三亚科技创新互联网基地