You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@commons.apache.org by "Wilf Middleton (JIRA)" <ji...@apache.org> on 2012/07/11 09:32:35 UTC

[jira] [Comment Edited] (LANG-810) StringUtils.join() endIndex, bugged for loop

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

Wilf Middleton edited comment on LANG-810 at 7/11/12 7:32 AM:
--------------------------------------------------------------

Re: (the valid array index runs from 0 to array.length-1)
Not the case. It accepts array.length as a valid endIndex.


According to the spec: 

"endIndex - the index to stop joining from (exclusive). It is an error to pass in an end index past the end of the array"

The last index is array.length-1. The method accepts array.length as the last index which is against the stipulation that "it is an error to pass in an end index past the end of the array."

It would be correct to say:

"endIndex - the index to stop joining from (exclusive). It is an error to pass in an end index GREATER THAN THE LENGTH OF THE ARRAY"

                
      was (Author: groovemeister):
    The javadoc states: 

"endIndex - the index to stop joining from (exclusive). It is an error to pass in an end index past the end of the array"

The last index is array.length-1. The method accepts array.length as the last index which is against the stipulation that "it is an error to pass in an end index past the end of the array."

It would be correct to say:

"endIndex - the index to stop joining from (exclusive). It is an error to pass in an end index GREATER THAN THE LENGTH OF THE ARRAY"


                  
> StringUtils.join() endIndex, bugged for loop
> --------------------------------------------
>
>                 Key: LANG-810
>                 URL: https://issues.apache.org/jira/browse/LANG-810
>             Project: Commons Lang
>          Issue Type: Bug
>          Components: lang.*
>    Affects Versions: 3.1
>            Reporter: Krzysztof Nazarewski
>            Assignee: Joerg Schaible
>   Original Estimate: 1m
>  Remaining Estimate: 1m
>
> endIndex is described as index, but for loop still checks it as "array length".
> Basically missing equal sign
> commons-lang3-3.1-sources.jar, StringUtils.java lines 3309, 3394:
>         for (int i = startIndex; i < endIndex; i++) {
> should be:
>         for (int i = startIndex; i <= endIndex; i++) {

--
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