## org.apache.commons.collections.comparators
Class NullComparator

    java.lang.Object
      org.apache.commons.collections.comparators.NullComparator

All Implemented Interfaces:
  Comparator, Serializable

public class NullComparator
extends Object
implements Comparator, Serializable

A Comparator that will compare nulls to be either lower or higher than other objects.

Since:
  Commons Collections 2.0
Version:
  $Revision: 1.13 $ $Date: 2004/05/15 13:24:11 $
Author:
  Michael A. Smith
See Also:
  Serialized Form

Constructor Summary
`NullComparator()` Construct an instance that sorts `null` higher than any non-`null` object it is compared with.
`NullComparator(boolean nullsAreHigh)` Construct an instance that sorts `null` higher or lower than any non-`null` object it is compared with.
`NullComparator(Comparator nonNullComparator)` Construct an instance that sorts `null` higher than any non-`null` object it is compared with.
`NullComparator(Comparator nonNullComparator, boolean nullsAreHigh)` Construct an instance that sorts `null` higher or lower than any non-`null` object it is compared with.

Method Summary
`int` `compare(Object o1, Object o2)` Perform a comparison between two objects.
`boolean` `equals(Object obj)` Determines whether the specified object represents a comparator that is equal to this comparator.
`int` `hashCode()` Implement a hash code for this comparator that is consistent with `equals(Object)`.

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

Constructor Detail

### NullComparator

    public NullComparator()

  Construct an instance that sorts `null` higher than any non-`null` object it is compared with. When comparing two non-`null` objects, the `ComparableComparator` is used.

### NullComparator

    public NullComparator(Comparator nonNullComparator)

  Construct an instance that sorts `null` higher than any non-`null` object it is compared with. When comparing two non-`null` objects, the specified `Comparator` is used.

Parameters:
  `nonNullComparator` - the comparator to use when comparing two non-`null` objects. This argument cannot be `null`
Throws:
  `NullPointerException` - if `nonNullComparator` is `null`

### NullComparator

    public NullComparator(boolean nullsAreHigh)

  Construct an instance that sorts `null` higher or lower than any non-`null` object it is compared with. When comparing two non-`null` objects, the `ComparableComparator` is used.

Parameters:
  `nullsAreHigh` - a `true` value indicates that `null` should be compared as higher than a non-`null` object. A `false` value indicates that `null` should be compared as lower than a non-`null` object.

### NullComparator

    public NullComparator(Comparator nonNullComparator,
                          boolean nullsAreHigh)

  Construct an instance that sorts `null` higher or lower than any non-`null` object it is compared with. When comparing two non-`null` objects, the specified `Comparator` is used.

Parameters:
  `nonNullComparator` - the comparator to use when comparing two non-`null` objects. This argument cannot be `null`
  `nullsAreHigh` - a `true` value indicates that `null` should be compared as higher than a non-`null` object. A `false` value indicates that `null` should be compared as lower than a non-`null` object.
Throws:
  `NullPointerException` - if `nonNullComparator` is `null`

Method Detail

### compare

    public int compare(Object o1,
                       Object o2)

  Perform a comparison between two objects. If both objects are `null`, a `0` value is returned. If one object is `null` and the other is not, the result is determined on whether the Comparator was constructed to have nulls as higher or lower than other objects. If neither object is `null`, an underlying comparator specified in the constructor (or the default) is used to compare the non-`null` objects.

  Specified by:
    `compare` in interface `Comparator`
  Parameters:
    `o1` - the first object to compare
    `o2` - the object to compare it to.
  Returns:
    `-1` if `o1` is "lower" than (less than, before, etc.) `o2`; `1` if `o1` is "higher" than (greater than, after, etc.) `o2`; or `0` if `o1` and `o2` are equal.

### hashCode

    public int hashCode()

  Implement a hash code for this comparator that is consistent with `equals(Object)`.

  Returns:
    a hash code for this comparator.

### equals

    public boolean equals(Object obj)

  Determines whether the specified object represents a comparator that is equal to this comparator.

  Specified by:
    `equals` in interface `Comparator`
  Parameters:
    `obj` - the object to compare this comparator with.
  Returns:
    `true` if the specified object is a NullComparator with equivalent `null` comparison behavior (i.e. `null` high or low) and with equivalent underlying non-`null` object comparators.

Copyright © 2001-2005 Apache Software Foundation. All Rights Reserved.