You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@commons.apache.org by "Paul Benedict (JIRA)" <ji...@apache.org> on 2011/02/02 07:39:28 UTC

[jira] Commented: (LANG-676) Potential Autoboxing problems with BooleanUtils methods

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

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

I think this issue is invalid. There's nothing wrong with methods that return Boolean objects, which could be null. The method, after all, is toBooleanObject. An object can be null.

> 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