⇒ Index (Frames) |  ⇒ Index (No Frames) |  ⇒ Package |  ⇒ Package Tree |  ⇒ Full Tree 
org.apache.commons.collections.comparators

Class ComparableComparator

java.lang.Object
|
+--org.apache.commons.collections.comparators.ComparableComparator

All Implemented Interfaces:
Comparator, Serializable


public class ComparableComparator
extends java.lang.Object
implements Comparator, Serializable

A Comparator Comparator that compares Comparable 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 compare were null, not Comparable Comparable, or for which Comparable.compareTo compareTo gave inconsistent results. This is no longer the case. See compare for details.

Since:
Commons Collections 2.0
Author:
Henri Yandell
See Also:
java.util.Collections.reverseOrder

Constructor Summary

ComparableComparator()

Method Summary

int

compare(Object o1, Object o2)

Compare the two Comparable Comparable arguments.

boolean

equals(Object that)

Returns true iff that Object is is a Comparator Comparator whose ordering is known to be equivalent to mine.

static ComparableComparator

getInstance()

Return a shared instance of a ComparableComparator.

int

hashCode()

Implement a hash code for this comparator that is consistent with #equals.

Constructor Details

ComparableComparator

public ComparableComparator()

Method Details

compare

public int compare(Object o1, Object o2)

Compare the two Comparable Comparable arguments. This method is equivalent to:
((
Comparable Comparable)o1).Comparable.compareTo compareTo(o2)

Parameters:
o1
o2
Throws:
- when o1 is null, or when ((Comparable)o1).compareTo(o2) does
- when o1 is not a Comparable Comparable, or when ((Comparable)o1).compareTo(o2) does

equals

public boolean equals(Object that)

Returns true iff that Object is is a Comparator Comparator whose ordering is known to be equivalent to mine.

This implementation returns true iff that.Object.getClass getClass() equals this.getClass(). Subclasses may want to override this behavior to remain consistent with the Comparator.equals contract.

Since:
Commons Collections 3.0
Parameters:
that

getInstance

public static ComparableComparator getInstance()

Return a shared 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.


hashCode

public int hashCode()

Since:
Commons Collections 3.0
Returns:
a hash code for this comparator.