【发布时间】:2011-10-03 00:59:11
【问题描述】:
EasyMock 中的 'same' 和 'eq' 之间是否存在显着差异(甚至任何差异)?
【问题讨论】:
EasyMock 中的 'same' 和 'eq' 之间是否存在显着差异(甚至任何差异)?
【问题讨论】:
same 检查两个对象是否实际上是同一个实例(引用相等)。 eq 调用 equals 并因此检查两者是否具有相同的值(值相等)。
请记住,默认的equals 实现在内部使用==,因此如果您使用的类没有正确的equals 覆盖,eq 的作用将与same 相同。
但是,最好使用same 表示引用相等,使用eq 表示值相等来说明您的意图。它还可以帮助您发现错误(即发现您忘记覆盖 equals)。
【讨论】:
same 使用==,equals 使用.equals()
【讨论】: