云星数据---Scala实战系列(精品版)】:Scala入门教程048-Scala实战源码-Scala Match操作
来源:互联网 发布:java调用rest api实例 编辑:程序博客网 时间:2024/05/21 11:25
Scala Match操作
package scala_learn.demo11_Collection/** * Created by liguohua on 2017/7/31. */object O8_Match { def main (args: Array[String]) { //1.基本类型的match matchType(10) matchType("ketty") matchType(Map("zhangsan"->18,"lisi"->25)) //2.数组类型的match matchArray(Array(20)) matchArray(Array(34)) matchArray(Array("zhang","li")) matchArray(Array(2,122,122,122)) //3.List类型的match matchList(List(20)) matchList(List(25)) matchList(List("zhang","li")) matchList(List(222,123,123,123)) //4.Tuple类型的match matchTuple(("zhangsan",18,"山东")) matchTuple(("li",20,"山东")) } def matchType(i:Any): Unit ={ i match { case p:Int=>println(p+" is Int") case p:String=>{println(p+" is string")} case m:Map[String,_]=>{m.foreach(println)} case _=>println("i don't konw!") } } def matchArray(arr:Array[Any]) = arr match { case Array(20)=>println("数组中有且只有一个元素20") case Array(x)=>println("数组中有且只有一个元素: x="+arr(0)) case Array(x,y)=>println("数组中有且只有两个元素:x="+arr(0)+" , y="+arr(1)) case Array(29,_*)=>println("数组中第一个元素是29,其他元素个数不限") case _=>println("Array其他情况") } def matchList(l:List[Any]) = l match { case List(20)=>println("List中有且只有一个元素20") case 25::nil=>println("List中有且只有一个元素25") case x::nil=>println("List中有且只有一个元素:x="+x) case x::y::nil=>println("数组中有且只有两个元素:x="+x+" , y="+y) case 222::tail=>println("第一个元素是222,后面的元素不限") case _=>println("List其他情况") } def matchTuple(t:Any) = t match { case ( "zhangsan" , _,_ ) => println("元组的第一个元素是:zhangsan") case ( _,20,_ ) => println("元组的第二个元素是:20") case _=>println("Tuple其他情况") }}
阅读全文
0 0
- 云星数据---Scala实战系列(精品版)】:Scala入门教程048-Scala实战源码-Scala Match操作
- 云星数据---Scala实战系列(精品版)】:Scala入门教程036-Scala实战源码-Scala match语句01
- 云星数据---Scala实战系列(精品版)】:Scala入门教程037-Scala实战源码-Scala match语句02 条件守卫
- 云星数据---Scala实战系列(精品版)】:Scala入门教程038-Scala实战源码-Scala match语句03 类型匹配
- 云星数据---Scala实战系列(精品版)】:Scala入门教程015-Scala实战源码-Scala函数
- 云星数据---Scala实战系列(精品版)】:Scala入门教程012-Scala实战源码-Scala操作符
- 云星数据---Scala实战系列(精品版)】:Scala入门教程043-Scala实战源码-Scala Set操作
- 云星数据---Scala实战系列(精品版)】:Scala入门教程044-Scala实战源码-Scala 元组Tuple操作
- 云星数据---Scala实战系列(精品版)】:Scala入门教程045-Scala实战源码-Scala Map操作
- 云星数据---Scala实战系列(精品版)】:Scala入门教程046-Scala实战源码-Scala foreach操作
- 云星数据---Scala实战系列(精品版)】:Scala入门教程047-Scala实战源码-Scala method操作
- 云星数据---Scala实战系列(精品版)】:Scala入门教程049-Scala实战源码-Scala implicit 操作
- 云星数据---Scala实战系列(精品版)】:Scala入门教程050-Scala实战源码-Scala implicit 操作01
- 云星数据---Scala实战系列(精品版)】:Scala入门教程051-Scala实战源码-Scala implicit 操作02
- 云星数据---Scala实战系列(精品版)】:Scala入门教程052-Scala实战源码-Scala implicit 操作03
- 云星数据---Scala实战系列(精品版)】:Scala入门教程053-Scala实战源码-Scala implicit 操作04
- 云星数据---Scala实战系列(精品版)】:Scala入门教程054-Scala实战源码-Scala implicit 操作05
- 云星数据---Scala实战系列(精品版)】:Scala入门教程009-Scala实战源码-Hello Word
- ESP8266 TCP client
- 梯度下降法快速教程 | 第一章:Python简易实现以及对学习率的探讨
- Revit二次开发之关于外部命令IExternalCommand【比目鱼原创】
- JQuery学习
- YOLO:实时目标检测
- 云星数据---Scala实战系列(精品版)】:Scala入门教程048-Scala实战源码-Scala Match操作
- Unity2017.2错误集合
- Mac 卸载mysql
- 对于floyed算法过程的理解
- Linux下Tomcat启动报错:Neither the JAVA_HOME nor the JRE_HOME environment variable is defined At least one
- eclips启动
- IDE、SATA、SCSI、SAS、FC、SSD 硬盘类型
- Visual GC插件「不受此JVM支持」问题
- 原型模式