commons-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Bruno P. Kinoshita (JIRA)" <j...@apache.org>
Subject [jira] [Comment Edited] (LANG-1281) Javadoc of StringUtils.ordinalIndexOf is contradictory.
Date Thu, 03 Nov 2016 22:11:00 GMT

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

Bruno P. Kinoshita edited comment on LANG-1281 at 11/3/16 10:10 PM:
--------------------------------------------------------------------

I had voted +1 for the pull request, but then read the Javadoc again, and now I'm not sure
about it :-)

>"The code increments the starting index by one, rather than by the length of the match
string, so matches may overlap."

I'm not sure if there's anything wrong with the above statement for StringUtils#ordinalOf.

> But the implementation of the method does NOT increment by 1 if given the empty string.
So this change causes the documentation to contradict the implementation.

Given the empty string, as far as I can tell, the implementation returns (as in the doc) "the
n-th index of the search CharSequence", which is 0. It never increments the starting index
(which is done here https://github.com/apache/commons-lang/blob/ff4497aff8cc9de4e0b2c6e5e23e5b6550f76f29/src/main/java/org/apache/commons/lang3/StringUtils.java#L1477).

As it was given an empty string, this check in ordinalOf method returns the empty string:
https://github.com/apache/commons-lang/blob/ff4497aff8cc9de4e0b2c6e5e23e5b6550f76f29/src/main/java/org/apache/commons/lang3/StringUtils.java#L1466


was (Author: kinow):
I had voted +1 for the pull request, but then read the Javadoc again, and now I'm not sure
about it :-)

>"The code increments the starting index by one, rather than by the length of the match
string, so matches may overlap."

I'm not sure if there's anything wrong with the above statement for StringUtils#ordinalOf.

> But the implementation of the method does NOT increment by 1 if given the empty string.
So this change causes the documentation to contradict the implementation.

Given the empty string, as far as I can tell, the implementation returns (as in the doc) "the
n-th index of the search CharSequence", which is 0. It never increments the starting index
(which is done here https://github.com/apache/commons-lang/blob/ff4497aff8cc9de4e0b2c6e5e23e5b6550f76f29/src/main/java/org/apache/commons/lang3/StringUtils.java#L1477).

> Javadoc of StringUtils.ordinalIndexOf is contradictory.
> -------------------------------------------------------
>
>                 Key: LANG-1281
>                 URL: https://issues.apache.org/jira/browse/LANG-1281
>             Project: Commons Lang
>          Issue Type: Bug
>          Components: lang.*
>    Affects Versions: 3.5
>            Reporter: Andreas Lundblad
>            Priority: Minor
>
> Javadoc of StringUtils.ordinalIndexOf states the following:
> "The code increments the starting index by one, rather than by the length of the match
string, so matches may overlap."
> But then gives the following example:
> StringUtils.ordinalIndexOf("aabaabaa", "", 2) = 0
> which clearly indicates that it does *not* increment the starting index by one in case
of the empty string.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message