The Spring Framework

## org.springframework.util.comparator
Class NullSafeComparator

    java.lang.Object
      org.springframework.util.comparator.NullSafeComparator

All Implemented Interfaces:
  Comparator

    public class NullSafeComparator

extends Object
implements Comparator

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 Summary
`static NullSafeComparator` `NULLS_HIGH` A shared default instance of this comparator, treating nulls higher than non-null objects.
`static NullSafeComparator` `NULLS_LOW` A shared default instance of this comparator, treating nulls lower than non-null objects.

Constructor Summary
`NullSafeComparator(Comparator comparator, boolean nullsLow)` Create a NullSafeComparator that sorts `null` based on the provided flag, decorating the given Comparator.

Method Summary
`int` `compare(Object o1, Object o2)`
`boolean` `equals(Object obj)`
`int` `hashCode()`
`String` `toString()`

Methods inherited from class java.lang.Object
`clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

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 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

Method Detail

### compare

    public int compare(Object o1,
                       Object o2)

  Specified by:
    `compare` in interface `Comparator`

### equals

    public boolean equals(Object obj)

  Specified by:
    `equals` in interface `Comparator`
  Overrides:
    `equals` in class `Object`

### hashCode

    public int hashCode()

  Overrides:
    `hashCode` in class `Object`

### toString

    public String toString()

  Overrides:
    `toString` in class `Object`

The Spring Framework

Copyright © 2002-2008 The Spring Framework.