Proposal: Sameness operators
Mark Thornton
mthornton at optrak.co.uk
Thu Apr 2 10:42:21 PDT 2009
Reinier Zwitserloot wrote:
> The argument that .compareTo should not be used because it isn't
> entirely congruent with either the meaning of .equals() or the
> meanings of all the comparison operators (from == to <) on the
> primitives, just doesn't hold water, for this simple reason:
>
I merely meant that if you want to have a set of comparison operators
with some of them based on compareTo, then they all must be based on
compareTo --- you can't use equals (or ==) for the equality comparisons.
Therefore you have three sets of operations
==, System.identityHashCode(), plus for some types <, <=, >, >=
Object.equals(), Object.hashCode()
Comparable.compareTo()
All these need to remain clearly distinct because their existing
behaviour is not always compatible.
Mark Thornton
More information about the coin-dev
mailing list