[ 
https://issues.apache.org/jira/browse/LANG-676?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12989539#comment-12989539
 ] 

Paul Benedict commented on LANG-676:
------------------------------------

Absolutely.

> Potential Autoboxing problems with BooleanUtils methods
> -------------------------------------------------------
>
>                 Key: LANG-676
>                 URL: https://issues.apache.org/jira/browse/LANG-676
>             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: http://www.atlassian.com/software/jira

        

Reply via email to