object Demo03{
def main(args:Array[String]):Unit={
val ls=List(1,2,3,"a","b","c",10.11,12.12,13.13)/*val res: List[Any] = ls.map(e=>{
if(e.isInstanceOf[Int]){
e.asInstanceOf[Int]*10
}else if(e.isInstanceOf[String]){
e.asInstanceOf[String].toUpperCase
}else{
e.asInstanceOf[Double]*100
}
})*/
val res:List[Any]=ls.map(e=>
e match {case x:Int=>x*10case x:String=>x.toUpperCase
case x:Double=>x*100})println(res)}}
val res:List[Any]=ls.map(e=>
e match {case x:Int=>x*10case _=>/*case x:String=>x.toUpperCase
case x:Double=>x*100*/})
val ress:List[Any]=res.filterNot(_==())println(ress)
object Demo04{
def main(args:Array[String]):Unit={
val ls:List[P]=List(newS1("wnn"),newS("cc"),newS2("HH"))
val random:Random=newRandom()
val e:P=ls(random.nextInt(ls.length))println(e.getClass.getName)
e match {case s:S=>println("超超")case s:S1=>println("宁宁")case s:S2=>println("哈哈哈")}}}
importscala.util.Random
object Demo05{
def main(args:Array[String]):Unit={
val ls=List("java",Array[Int](1,2,3),Map("em"->"zzr"),("WNN","CC",12))
val random=newRandom()
val value=ls(random.nextInt(ls.length))println(value)
value match {case x:String=>println("字符串")case y:Array[Int]=>println("数组")case z:Map[String,String]=>println("map")case q:(_,_,_)=>println("元组")case _ =>println("其他")}/*Map(em -> zzr)
map
*/}}
importscala.util.Random
object Demo06{
def main(args:Array[String]):Unit={
val ls=List(User(1,"wnn"),User(2,"cc"))
val random=newRandom()
val user:User=ls(random.nextInt(ls.length))println(user)
user match {caseUser(1,"wnn")=>println("王宁宁")case _ =>println("超超")}}}
importscala.util.Random
object Demo06{
def main(args:Array[String]):Unit={
val ls=List(User(1,"wnn"),User(2,"cc"))
val random=newRandom()
val user:User=ls(random.nextInt(ls.length))println(user)
user match {caseUser(_,"wnn")=>println("王宁宁")case _ =>println("超超")}}}
object Demo07{
def main(args:Array[String]):Unit={
val mp:Map[String,Int]=Map("wnn"->14,"cc"->10,"ff"->12)
val value:Option[Int]=mp.get("wnn")
value match {caseSome(v)=>println(v)caseNone=>println("没有")}/*14*/}}
object Demo07{
def main(args:Array[String]):Unit={
val mp:Map[String,Int]=Map("wnn"->14,"cc"->10,"ff"->12)
val value:Option[Int]=mp.get("wnn1")
value match {caseSome(v)=>println(v)caseNone=>println("没有")}/*14*/}}