大数据全系列 教程
1869个小节阅读:465k
目录
JAVA全系列 教程
面向对象的程序设计语言
Python全系列 教程
Python3.x版本,未来主流的版本
人工智能 教程
顺势而为,AI创新未来
大厂算法 教程
算法,程序员自我提升必经之路
C++ 教程
一门通用计算机编程语言
微服务 教程
目前业界流行的框架组合
web前端全系列 教程
通向WEB技术世界的钥匙
大数据全系列 教程
站在云端操控万千数据
AIGC全能工具班
A A
White Night
xxxxxxxxxx
package com.itbaizhan.chapter08
object CaseDataType extends App {
def matchDataType(arg:Any) = arg match {
//TODO 1.注意不能写成 case Int,当成类型需要如下编写:
case it:Int => "Int"//it其实就是arg类型转换后
case bool:Boolean => "Boolean"
//TODO 2.scala类型匹配时,是不考虑泛型的。
// List[Int]、List[Char]都是一样表示匹配List集合类型,一般写成 List[_]
//case list:List[Int] => "List"
case list:List[_] => "List"
//TODO 3.表示只能匹配 Array中存放Int类型,这里的Int不是真正的泛型
// java => Int[] scala => Array[Int]
case arr:Array[Int] => "Array[Int]"
case str:String => "String"
//TODO 4.如果需要使用下滑下代表的数据,可以给下划线起名来使用
//case _ => "other"
case otherAll => "other "+ otherAll
}
println(matchDataType(9))//Int
println(matchDataType("gtjin"))//String
println(matchDataType(List(1,2,3)))//List
println(matchDataType(List('1','2','3')))//List
println(matchDataType(Array(1,2,3)))//Array[Int]
println(matchDataType(Array('1','2','3')))//other..
}
实时效果反馈
1. 关于Scala匹配类型或代码的描述,错误的是:
A 匹配类型不能写成case 类型
,而应写成case 变量名:Int
,比如case it:Int
。
B case it:Int
其中"it"是自定义的变量名。
C case otherAll => "other "+ otherAll
需要使用下滑线代表的数据,可以给下划线起名来使用,只能起otherAll。
D case arr:Array[Int]
表示只能匹配 Array中存放Int类型。
答案:
1=>C 名称可以自定义起名。