public class ComparableComparator
extends java.lang.Object
implements java.util.Comparator, java.io.Serializable
Comparator
that compares
Comparable
objects.
This Comparator is useful, for example,
for enforcing the natural order in custom implementations
of SortedSet and SortedMap.
Note: In the 2.0 and 2.1 releases of Commons Collections,
this class would throw a ClassCastException
if
either of the arguments to compare
were null
, not Comparable
,
or for which compareTo
gave
inconsistent results. This is no longer the case. See
compare
for details.Collections.reverseOrder()
,
Serialized FormConstructor and Description |
---|
ComparableComparator()
Constructor whose use should be avoided.
|
Modifier and Type | Method and Description |
---|---|
int |
compare(java.lang.Object obj1,
java.lang.Object obj2)
Compare the two
Comparable arguments. |
boolean |
equals(java.lang.Object object)
Returns
true iff that Object is
is a Comparator whose ordering is
known to be equivalent to mine. |
static ComparableComparator |
getInstance()
Gets the singleton instance of a ComparableComparator.
|
int |
hashCode()
Implement a hash code for this comparator that is consistent with
equals . |
public ComparableComparator()
Please use the getInstance()
method whenever possible.
public static ComparableComparator getInstance()
Developers are encouraged to use the comparator returned from this method instead of constructing a new instance to reduce allocation and GC overhead when multiple comparable comparators may be used in the same VM.
public int compare(java.lang.Object obj1, java.lang.Object obj2)
Comparable
arguments.
This method is equivalent to:
((Comparable)obj1).compareTo(obj2)
compare
in interface java.util.Comparator
obj1
- the first object to compareobj2
- the second object to comparejava.lang.NullPointerException
- when obj1 is null
,
or when ((Comparable)obj1).compareTo(obj2)
doesjava.lang.ClassCastException
- when obj1 is not a Comparable
,
or when ((Comparable)obj1).compareTo(obj2)
doespublic int hashCode()
equals
.hashCode
in class java.lang.Object
public boolean equals(java.lang.Object object)
true
iff that Object is
is a Comparator
whose ordering is
known to be equivalent to mine.
This implementation returns true
iff object.
equals getClass()
this.getClass()
.
Subclasses may want to override this behavior to remain consistent
with the Comparator.equals(Object)
contract.
equals
in interface java.util.Comparator
equals
in class java.lang.Object
object
- the object to compare with"Copyright © 2010 - 2020 Adobe Systems Incorporated. All Rights Reserved"