Class ComparableComparator<E extends Comparable<? super E>>
- Type Parameters:
- E- the type of objects compared by this comparator
- All Implemented Interfaces:
- Serializable,- Comparator<E>
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(Comparable, Comparable) compare} were null, not
 Comparable, or for which
 compareTo gave inconsistent results.
 This is no longer the case. See compare(Comparable, Comparable) compare} for
 details.
 
- Since:
- 2.0
- See Also:
- 
Field SummaryFields
- 
Constructor SummaryConstructors
- 
Method SummaryModifier and TypeMethodDescriptionstatic <E extends Comparable<? super E>>
 ComparableComparator<E> Gets the singleton instance of a ComparableComparator.intCompare the twoComparablearguments.booleanReturnstrueiff that Object is aComparatorwhose ordering is known to be equivalent to mine.inthashCode()Implement a hash code for this comparator that is consistent withequals.Methods inherited from class java.lang.Objectclone, finalize, getClass, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface java.util.Comparatorreversed, thenComparing, thenComparing, thenComparing, thenComparingDouble, thenComparingInt, thenComparingLong
- 
Field Details- 
INSTANCEThe singleton instance.
 
- 
- 
Constructor Details- 
ComparableComparatorpublic ComparableComparator()Constructor whose use should be avoided.Please use the comparableComparator()method whenever possible.
 
- 
- 
Method Details- 
comparableComparatorGets the singleton instance of a ComparableComparator.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. - Type Parameters:
- E- the element type
- Returns:
- the singleton ComparableComparator
- Since:
- 4.0
 
- 
compareCompare the twoComparablearguments. This method is equivalent to:((Comparable)obj1).compareTo(obj2) - Specified by:
- comparein interface- Comparator<E extends Comparable<? super E>>
- Parameters:
- obj1- the first object to compare
- obj2- the second object to compare
- Returns:
- negative if obj1 is less, positive if greater, zero if equal
- Throws:
- NullPointerException- if obj1 is- null, or when- ((Comparable)obj1).compareTo(obj2)does
- ClassCastException- if obj1 is not a- Comparable, or when- ((Comparable)obj1).compareTo(obj2)does
 
- 
equalsReturnstrueiff that Object is aComparatorwhose ordering is known to be equivalent to mine.This implementation returns trueiff<em>object</em>.{@link Object#getClass() getClass()}equalsthis.getClass(). Subclasses may want to override this behavior to remain consistent with theComparator.equals(Object)contract.- Specified by:
- equalsin interface- Comparator<E extends Comparable<? super E>>
- Overrides:
- equalsin class- Object
- Parameters:
- object- the object to compare with
- Returns:
- trueif equal
- Since:
- 3.0
 
- 
hashCode
 
-