What's the difference between == and .equals in Scala?

equality, scala, scala-java-interop

Solution

You normally use `==`, it routes to `equals`, except that it treats `null`s properly. Reference equality (rarely used) is `eq`.

Problem

What is the difference between `==` and `.equals()` in Scala, and when to use which? Is the implementation same as in Java? EDIT: The related question talks about specific cases of `AnyVal`. The more general case is `Any`.

Original source

Related problems