7

我刚刚阅读了这个问题并偶然发现了以下引用:

Scala 将==其视为在 class 中定义如下Any

final def == (that: Any): Boolean = 
  if (null eq this) (null eq that) else (this equals that)

(null eq this)部分让我想知道:实际上是否可以在空指针上调用方法?可以thisnullScala 中吗?

4

3 回答 3

8
于 2012-04-09T11:48:35.343 回答
3

nullNull类的唯一实例,它是一个有效的对象。Null是所有引用类型的子类型。

于 2012-04-09T11:47:21.613 回答
1

我对 Scala 还是很陌生,但我认为这是可能的唯一方法是因为“null”本身是 Null 的一个实例,而不是像 Java 中的“null”这样的特殊值。

http://blog.sanaulla.info/2009/07/12/nothingness/

这篇文章帮助我更好地理解了这一点。

于 2012-04-09T11:48:44.547 回答