scala中Nil,Null,None,Nothing的区别

Nothing
Nothing是所有类型的子类,它没有对象,但是可以定义类型,如果一个类型抛出异常,那这个返回值类型就是Nothing

Null
Null是AnyRef的子类(引用类型) null是Null唯一的对象

None
None是Option的一个子类,一个Some集合,一个None,如果Option中没有值,则返回None

Nil
Nil是一个空List,定义为List[Nothing],所有Nil是所有List[T]的子类

你可能感兴趣的:(scala中Nil,Null,None,Nothing的区别)