2011-07-26 11 views

Respuesta

54

La función que está buscando es eq, que es miembro de AnyRef:

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

Gracias! Para el registro, esto se documenta aquí: http://www.scala-lang.org/api/current/scala/AnyRef.html –

+3

Y su inverso es 'ne'. Lo más probable es que desee utilizarlo en notación infija. Tenga en cuenta que 'eq',' ne', '==' y '! =' No arrojan 'NullPointerException' cuando el objeto de destino es nulo, incluso si parece que podría (especialmente en notación no infija) –

+3

@Jean: Si agregué la línea "val z = null" (muy mala forma de Scala) a la anterior, ¿estás diciendo que z.eq (x) no arrojará una excepción aunque z sea nulo? Estaba tan escéptico de esto, fui a http://www.simplyscala.com/ (acceso en línea a REPL) y lo probé de forma interactiva. Y estás en lo correcto Eso es maravilloso y ciertamente mejor que Java lanzando un NPE. Tyvm para la aclaración. – chaotic3quilibrium

Cuestiones relacionadas