В чем разница между `null == last` и` null eq last` в Scala?

Я вижу во встроенном классе MessageQueue.scala scala 2.7.7, около строки 164, это:

def extractFirst(p: Any => Boolean): MessageQueueElement = {
changeSize(-1) // assume size decreases by 1

val msg = if (null eq last) null
else {
    ...
  }
}

Я не понимаю val msg = if (null eq last) null ну почему он использует eq , но не null . Если я напишу if (last == null) null , это правильно? Есть ли разница?

7
задан Freewind 14 August 2011 в 05:53
поделиться