Inconsistent Javadoc comment and code in removeAll(Collection<E>, 
Collection<?>) in org.apache.commons.collections.ListUtils
----------------------------------------------------------------------------------------------------------------------------

                 Key: COLLECTIONS-401
                 URL: https://issues.apache.org/jira/browse/COLLECTIONS-401
             Project: Commons Collections
          Issue Type: Bug
          Components: Collection
    Affects Versions: 3.2.1
            Reporter: SHIN HWEI TAN


The Javadoc comment below states that the method "throws NullPointerException 
if either parameter is null". 
             /*......
             * 
             * @throws NullPointerException if either parameter is null
             */
            public static <E> List<E> removeAll(Collection<E> collection, 
Collection<?> remove) {
                ..
            }
However, when called with two null collections (i.e., 
"removeAll((Collection)null, (Collection)null)"), the method executes normally 
without throwing any exception.

Suggested Fixes:
1. Add code "if (collection == null) throw NullPointerException();" at the 
beginning of the method body.
or
2. Remove "@throws NullPointerException if either parameter is null" from the 
Javadoc.
or
3. Change "@throws NullPointerException if either parameter is null" to 
"@throws NullPointerException if the first collection is null or (the first 
collection is non-empty and the second collection is null)".

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to