scala 模式匹配中的型別擦除

2021-10-02 06:20:16 字數 489 閱讀 9913

在預設情況下,基於jvmscala在執行時是沒有型別資訊,在容器型別中,只有array在執行是保留了型別資訊,其它容器不保留型別資訊,測試**如下

import scala.reflect._

object patterntest

def isintlist

(x: any)

= x match

def isstringarray

(x: any)

= x match

def main

(args: array[string]

): unit =

}

程式輸出如下

true

true

true

false

true

false

scala中的模式匹配

一旦乙個case匹配上了,就不會再往下匹配 匹配內容def main args array string unit contentmatch zs 型別的匹配def typematch ty any ty match typematch 張不帥 陣列的匹配def arraymatch array a...

Scala模式匹配

1.常量匹配 def constantmatch x int string x match def constantmathtest 輸出結果 one many2.列表匹配 def sequencematch x list int string x match def sequencemathtes...

scala模式匹配

這是scala中最有用的部分之一。匹配值val times 1 times match 使用守衛進行匹配 times match 注意我們是怎樣將值賦給變數 i 的。在最後一行指令中的 是乙個萬用字元 它保證了我們可以處理所有的情況。否則當傳進乙個不能被匹配的數字的時候,你將獲得乙個執行時錯誤。我們...