"The equals method for class Object implements the most discriminating possible equivalence relation on objects" but is overridden however a class thinks fit so long as it "implements an equivalence relation on non-null object references".

Equivalence leaves rather a lot of arbitrary wiggle room: things can be quite different and yet be considered equal. As Anatole France observed, "The law, in its majestic equality, forbids the rich as well as the poor to sleep under bridges, to beg in the streets, and to steal bread".