You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@commons.apache.org by "Charles Honton (JIRA)" <ji...@apache.org> on 2015/07/14 07:02:04 UTC

[jira] [Updated] (LANG-1078) -1, 0 or error for String/Array opereations

     [ https://issues.apache.org/jira/browse/LANG-1078?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Charles Honton updated LANG-1078:
---------------------------------
    Component/s: lang.*

> -1, 0 or error for String/Array opereations
> -------------------------------------------
>
>                 Key: LANG-1078
>                 URL: https://issues.apache.org/jira/browse/LANG-1078
>             Project: Commons Lang
>          Issue Type: Wish
>          Components: lang.*
>            Reporter: haiyang li
>             Fix For: Discussion
>
>
> what're design insights for below implementation:
> #1: SHOULD throw exception for negative index?
> {code:title= org.apache.commons.lang3.ArrayUtils.java|borderStyle=solid}
>     public static int indexOf(final boolean[] array, final boolean valueToFind, int startIndex) {
>         if (ArrayUtils.isEmpty(array)) {
>             return INDEX_NOT_FOUND;
>         }
>         if (startIndex < 0) {
>             startIndex = 0;
>         }
>         for (int i = startIndex; i < array.length; i++) {
>             if (valueToFind == array[i]) {
>                 return i;
>             }
>         }
>         return INDEX_NOT_FOUND;
>     }
> {code}
> #2, Why does StringUtils.indexOf("", "")  return 0, not -1?
> first of all, "" is an empty String. '0' index doesn't exist in "". secondly, both null and "" strings are considered as none. I think it's inappropriate to say we found a none thing in position 0. so I suggest to return -1(not exists) to the index of any string in a null or "" string or null or "" empty string in any thing.
> (i read the java doc and a few jira tickets. but didn't find the discussion related to this kind of issue. so i created a new ticket).



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