EasyMock中“same”和“eq”之间的区别

时间:2011-07-11 18:28:43

标签: java easymock

EasyMock中'same'和'eq'之间是否存在显着(甚至任何)差异?

2 个答案:

答案 0 :(得分:18)

相同使用==并且等于使用.equals()

答案 1 :(得分:17)

same检查两个对象是否实际上是同一个实例(引用相等)。 eq调用equals,因此检查两者是否具有相同的值(值相等)。

请注意,默认的equals实施在内部使用==,因此如果您使用的是没有eq的{​​{1}}适当的same覆盖。

但是,最好通过使用equals引用相等性和same来表示您的意图,以实现值相等。它也可能帮助您找到错误(即发现您忘记覆盖eq)。