更新时间: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:所有类型的子类型,也称为底部类型。它常见的用途是发出终止信号,如抛出异常、退出程序或无限循环。
·Null:所有引用类型的子类型,它的主要用途是与其他JVM语言互操作,几乎不在ala代码中使用。