Unit类型、Null类型和Nothing类型(重点)
基本说明
数据类型 | 描述 |
Unit | 表示无值,和其他语言中void等同。用作不返回任何结果的方法的结果类型。Unit只是一个实例值,写成() |
Null | null,Null类型只有一个实例值null |
Nothing | Nothing类型在Scala的类型级最低端;它是任何其他类型的子类型。当一个函数,我们确定没有正常的返回值,可以用Nothing来指定返回类型,这样有一个好处,就是我们可以把返回的值(异常)赋给其他的函数或者变量(兼容性) |
案例实操
运行代码
package chapter02
import chapter01.Student
object Test07_DataType {
//5空类型
//5.1空值Unit
Unit 类型用来标识过程,也就是没有明确返回值的函数。
由此可见,Unit 类似于 Java 里的 void。Unit 只有一个实例——( ),这个实例也没有实
质意义
def m1():Unit = {
println("m1被调用执行")
}
val a = m1()
println("a:"+a)
//5.2空引用Null
Null 类只有一个实例对象,Null 类似于 Java 中的 null 引用。Null 可以赋值给任
意引用类型(AnyRef),但是不能赋值给值类型(AnyVal)
//val n:Int = null //错误的;值类型不能接收空引用
var student : Student = new Student("alice", 20)
student = null
println(student)
//5.3 Nothing
Nothing,可以作为没有正常返回值的方法的返回类型,非常直观的告诉你这个方
法不会正常返回,而且由于 Nothing 是其他任意类型的子类,他还能跟要求返回值的方法兼
容。
def m2(n:Int):Int ={
if (n == 0)
throw new NullPointerException
else
return n
}
val b= m2(2)
println("b:"+b)
}
}
运行结果