commons-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Sebb (JIRA)" <>
Subject [jira] Commented: (LANG-676) Potential Autoboxing problems with BooleanUtils methods
Date Thu, 03 Feb 2011 12:02:28 GMT


Sebb commented on LANG-676:

Could perhaps add a short note to the Javadoc warning about the possible behaviour under autoboxing?

> Potential Autoboxing problems with BooleanUtils methods
> -------------------------------------------------------
>                 Key: LANG-676
>                 URL:
>             Project: Commons Lang
>          Issue Type: Bug
>            Reporter: Henri Yandell
>             Fix For: 3.0
> FindBugs points out the following are bad:
> org.apache.commons.lang3.BooleanUtils.toBooleanObject(String, String, String, String)
> org.apache.commons.lang3.BooleanUtils.toBooleanObject(String
> org.apache.commons.lang3.BooleanUtils.toBooleanObject(Integer, Integer, Integer, Integer)
> org.apache.commons.lang3.BooleanUtils.toBooleanObject(Integer)
> org.apache.commons.lang3.BooleanUtils.toBooleanObject(int, int, int, int)
> org.apache.commons.lang3.BooleanUtils.negate(Boolean)
> For each case it's because the method returns Boolean, and returns null. That used to
be a feature, but apparently that plays merry havoc with autoboxing:
> ++NP: Method with Boolean return type returns explicit null (NP_BOOLEAN_RETURN_NULL)
> ++A method that returns either Boolean.TRUE, Boolean.FALSE or null is an accident waiting
to happen. This method can be invoked as though it returned a value of type boolean, and the
compiler will insert automatic unboxing of the Boolean value. If a null value is returned,
this will result in a NullPointerException. 
> The only solution imo is to let autoboxing do its job and remove these methods.

This message is automatically generated by JIRA.
For more information on JIRA, see:


View raw message