[
https://issues.apache.org/jira/browse/LANG-1078?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Duncan Jones updated LANG-1078:
-------------------------------
Fix Version/s: Discussion
These sorts of discussions may be better suited to the developer mailing list.
Regarding #1 - I'm not sure the rationale behind that decision. Certainly it's
well documented, which is a good thing. I would have preferred to see an
IllegalArgumentException thrown, but we can't really change that now.
Regarding #2 - again, I'm inclined to agree. Our handling of {{""}} as an input
string should be consistent. I don't like the way the Javadoc has to say:
bq. {{StringUtils.indexOf("", *) = -1 (except when * = "")}}
But again, since the behaviour is well documented, we cannot change this
without breaking compatibility. Perhaps something to consider when we
eventually rewrite the string handling methods in 4.0.
> -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
> 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)