更新時間:2022-09-16 來源:黑馬程序員 瀏覽量:
任何一種編程語言都有特定的數據類型,Scala也不例外。與其他語言相比,Scala中的所有值都屬于某種類型,包括數值和函數。接下來,通過一張圖來描述Scala數據類型的層次結構,具體如圖所示。
Seala中數據類型的層次結構
從上圖可以看出,Any是所有類型的超類型,也稱為頂級類型,它包含兩個直接子類,具體如下:
·AnyVal:表示值類型,值類型描述的數據是一個不為空的值,而不是一個對象。它預定義了9種類型,分別是Double、Float、Long、Int、Short、Byte、Unit、Char和Boolean。其中,Unit是一種不代表何意義的值類型,它的作用類似Java中的void。
·AnyRef:表示引用類型。除值類型外,所有類型都繼承自AnyRef。
在Scala數據類型層級結構的底部,還有兩個數據類型,分別是Nothing和Null,具體介紹如下。
·Nothing:所有類型的子類型,也稱為底部類型。它常見的用途是發(fā)出終止信號,如拋出異常、退出程序或無限循環(huán)。
·Null:所有引用類型的子類型,它的主要用途是與其他JVM語言互操作,幾乎不在ala代碼中使用。