Class FastComparableComparator

java.lang.Object
com.jidesoft.comparator.FastComparableComparator
All Implemented Interfaces:
Serializable, Comparator<Object>

public class FastComparableComparator extends Object implements Comparator<Object>, Serializable
A Comparator that compares Comparable objects. Throws ClassCastExceptions if the objects are not Comparable, or if they are null. Different from ComparableComparator, it will not throw exception when the two compareTo methods don't provide an inverse result of each other as per the Comparable javadoc. We do so mainly to reduce one call to compareTo.
If both objects are null, they will be treated as equal. If one is null and the other is not, the null value will be treated as smaller then non-null value.
Author:
bayard@generationjava.com, JIDE Software
See Also:
  • Constructor Details

    • FastComparableComparator

      public FastComparableComparator()
      Constructs a FastComparableComparator.
  • Method Details

    • getInstance

      public static FastComparableComparator 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.
      Returns:
      an instance of ComparableComparator.
    • compare

      public int compare(Object o1, Object o2)
      Specified by:
      compare in interface Comparator<Object>