分配给null的对象的类型是什么

时间:2017-11-16 09:50:02

标签: scala

在以下代码中,s

的类型是什么
scala> val s:String = null
s: String = null

//cannot check if instance is of type Null
scala> s.isInstanceOf[Null]
<console>:13: error: type Null cannot be used in a type pattern or isInstanceOf test
       s.isInstanceOf[Null]
                     ^

//s is no longer a String or Any or AnyRef
scala> s.isInstanceOf[String]
res2: Boolean = false 

scala> s.isInstanceOf[AnyRef]
res4: Boolean = false

scala> s.isInstanceOf[Any]
res5: Boolean = false

scala> s.isInstanceOf[Object]
res11: Boolean = false

1 个答案:

答案 0 :(得分:0)

好吧,null只是null而且它不会作为对象,其中对象是所有类的父对象,那么如果null是一个对象,那么这段代码应该返回true

val s:String=null;println(s.isInstanceOf[Object])

但实际上它返回false,因此null只是null而且它没有任何类型:D看到快照enter image description here