Maybe something for the CompareUtils class proposed in LANG-483:

  http://issues.apache.org/jira/browse/LANG-483

I'd prefer compareNullFirst, compareNullLast instead of the boolean param.

Hen

On Mon, Aug 10, 2009 at 5:23 AM, Antony Riley<ant...@cyberiantiger.org> wrote:
> Maybe I'm missing something obvious but commons lang does not seem to
> provide a null safe compare method for comparable objects.
>
> My apologies if this functionality exists somewhere in commons lang and I'm
> being brain dead with regards to locating it.
>
> It seems like a really obvious addition, code would probably look like
>
> // In ObjectUtils.
>
> /**
>  * Compare two Comparable objects for order.
>  *
>  * This method is null safe. Null is considered to be less than all other
> objects.
>  *
>  * @param a the first object to be compared.
>  * @param b the second object to be compared.
>  * @return a negative integer, zero, or a positive integer as the first
> argument is less than, equal to, or greater than the second.
>  */
> public int compare(Comparable a, Comparable b) {
>    return compare(a,b,true);
> }
>
> /**
>  * Compare two Comparable objects for order.
>  *
>  * This method is null safe. Null is considered to be less than all other
> objects if nullfirst is true, else
>  * it is considered to be greater than all other objects.
>  *
>  * @param a the first object to be compared.
>  * @param b the second object to be compared.
>  * @param nullfirst
>  * @return a negative integer, zero, or a positive integer as the first
> argument is less than, equal to, or greater than the second.
>  */
> public int compare(Comparable a, Comparable b, boolean nullfirst) {
>    // Deal with the case both a, b are null or they are both equal first.
>    if (a == b) {
>        return 0;
>    } else if (a == null) {
>        return nullfirst ? -1 : 1;
>    } else if (b == null) {
>        return nullfirst ? 1 : -1;
>    } else {
>        return a.compareTo(b);
>    }
> }
>
> -Antony
>

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org
For additional commands, e-mail: dev-h...@commons.apache.org

Reply via email to