==和.equals()Scala有什么区别,什么时候使用哪个?
实现是否与Java相同?
编辑:相关问题谈论的具体情况AnyVal.更一般的情况是Any.
我在两个对象之间进行了非常基本的相等性检查,但失败了。
package foo
import org.junit.Assert._
object Sandbox extends App{
class A
val a = new A
val b = new A
assertEquals(a, b)
}
Run Code Online (Sandbox Code Playgroud)
我的用例比较复杂,但是我想弄清楚基础知识。运行代码时出现断言错误:
Caused by: java.lang.AssertionError: expected:<foo.Sandbox$A@3f86d38b> but was:<foo.Sandbox$A@206d63fd>
at org.junit.Assert.fail(Assert.java:88)
at org.junit.Assert.failNotEquals(Assert.java:743)
at org.junit.Assert.assertEquals(Assert.java:118)
at org.junit.Assert.assertEquals(Assert.java:144)
. . . .
Run Code Online (Sandbox Code Playgroud)
如何比较两个对象是否相等?