2011-07-26 155 views

回答

54

你正在尋找的功能是eq,這是AnyRef成員:

val x = new Obj 
val y = x 
x eq y // evaluates to true 
x ne y // evaluates to false 
+1

謝謝!爲了記錄,這裏記錄在這裏:http://www.scala-lang.org/api/current/scala/AnyRef.html –

+3

而它的倒數是'ne'。你很可能想用中綴表示法來使用它。請注意,當目標對象爲空時,eq,ne,==,和!!=不會拋出'NullPointerException',即使它看起來可能如此(尤其是在非中綴表示法)。 –

+3

@Jean:如果我在上面添加了「val z = null」(非常糟糕的Scala格式)這一行,你是否說z.eq(x)即使z爲null也不會拋出異常?我對此持懷疑態度,我去了http://www.simplyscala.com/(在線訪問REPL)並以交互方式嘗試過。你是對的。這真是太棒了,當然比Java拋出NPE更好。 Tyvm的澄清。 – chaotic3quilibrium