[collections]A potential typo in the code's comment

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

[collections]A potential typo in the code's comment

XiangzheXu
Hi,
I was wondering whether there’s a typo in the @throws IndexOutOfBoundsException
condition for the setIterator(final int index, final Iterator<? extends E> iterator) method
in the class org.apache.commons.collections4.iterators.CollatingIterator<E>.

The method and its Javadoc comment are shown as follows.

/**
 * Sets the iterator at the given index.
 *
 * @param index index of the Iterator to replace
 * @param iterator Iterator to place at the given index
 * @throws IndexOutOfBoundsException if index &lt; 0 or index &gt; size()
 * @throws IllegalStateException if iteration has started
 * @throws NullPointerException if the iterator is null
 */
public void setIterator(final int index, final Iterator<? extends E> iterator) {
    checkNotStarted();
    if (iterator == null) {
        throw new NullPointerException("Iterator must not be null");
    }
    iterators.set(index, iterator);
}


The boundary of the parameter index is marked as "index &lt; 0 or index &gt; size()" in the comment.
Nevertheless, the “set(index, iterator)” method would throw an IndexOutOfBoundsException when
the index is equal to size().
So the boundary in the comment might be changed to "index &lt; 0 or index &gt;= size()” .

(My version is 4.4)

Best,
Alex





---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]