In Scala, what is the difference between Any and Object?
Suppose I have the following java method
protected void onEvent(Object obj) {
}
The Scala compiler accepts
protected override def onEvent(event: Any)
and开发者_开发技巧
protected override def onEvent(event: Object)
Is there any difference between the two?
There is an article on scala-lang with great diagram (I even put it on the wall). And also need to be mentioned:
If Scala is used in the context of a Java runtime environment, then scala.AnyRef corresponds to java.lang.Object.
Any
includes things that are not Object
s in Java; it includes primitive types and also Nothing
. Object
is the same class as in Java, so it definitely excludes primitives.
精彩评论