Class NullSafeComparator<T>

  • All Implemented Interfaces:
    Comparator<T>

    public class NullSafeComparator<T>
    extends Object
    implements Comparator<T>
    A Comparator that will safely compare nulls to be lower or higher than other objects. Can decorate a given Comparator or work on Comparables.
    Since:
    1.2.2
    Author:
    Keith Donald, Juergen Hoeller
    See Also:
    Comparable
    • Field Detail

      • NULLS_LOW

        public static final NullSafeComparator NULLS_LOW
        A shared default instance of this comparator, treating nulls lower than non-null objects.
      • NULLS_HIGH

        public static final NullSafeComparator NULLS_HIGH
        A shared default instance of this comparator, treating nulls higher than non-null objects.
    • Constructor Detail

      • NullSafeComparator

        public NullSafeComparator​(Comparator<T> comparator,
                                  boolean nullsLow)
        Create a NullSafeComparator that sorts null based on the provided flag, decorating the given Comparator.

        When comparing two non-null objects, the specified Comparator will be used. The given underlying Comparator must be able to handle the elements that this Comparator will be applied to.

        Parameters:
        comparator - the comparator to use when comparing two non-null objects
        nullsLow - whether to treat nulls lower or higher than non-null objects