在Scala中,Any和Object有什么区别?

时间:2011-08-23 12:23:53

标签: scala

假设我有以下java方法

protected void onEvent(Object obj) {

    }

Scala编译器接受

protected override def onEvent(event: Any)

protected override def onEvent(event: Object)

两者之间有什么区别吗?

2 个答案:

答案 0 :(得分:24)

scala-lang上有一个article,图表很棒(我甚至把它放在墙上)。还需要提一下:

  

如果在Java运行时环境的上下文中使用Scala,则scala.AnyRef对应于java.lang.Object。

答案 1 :(得分:22)

Any包含Java中不Object的内容;它包括原始类型以及NothingObject与Java中的类相同,因此它绝对排除了原语。