EasyMock中'same'和'eq'之间是否存在显着(甚至任何)差异?
答案 0 :(得分:18)
相同使用==
并且等于使用.equals()
答案 1 :(得分:17)
same
检查两个对象是否实际上是同一个实例(引用相等)。 eq
调用equals
,因此检查两者是否具有相同的值(值相等)。
请注意,默认的equals
实施在内部使用==
,因此如果您使用的是没有eq
的{{1}}适当的same
覆盖。
但是,最好通过使用equals
引用相等性和same
来表示您的意图,以实现值相等。它也可能帮助您找到错误(即发现您忘记覆盖eq
)。