Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Difference between 'same' and 'eq' in EasyMock

Tags:

java

easymock

Is there a significant(or even any) difference between 'same' and 'eq' in EasyMock?

like image 279
kolistivra Avatar asked Jul 11 '11 18:07

kolistivra


1 Answers

same checks if both objects are actually the same instance (reference equality). eq calls equals and therefore checks if both have the same value (value equality).

Keep in mind that the default equals implementation uses == internally, and therefore eq will do the same as sameif you're using classes that do not have a proper equals override.

But still, it's better to state your intent by using same for reference equality and eq for value equality. It might also help you finding bugs (i.e. finding that you forgot to override equals).

like image 195
Etienne de Martel Avatar answered Sep 26 '22 22:09

Etienne de Martel