[
https://issues.apache.org/jira/browse/LANG-742?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Michael Lyons updated LANG-742:
-------------------------------
Attachment: StringArrayUtilsTest.java
StringArrayUtils.java
> [IgnoreCase] methods for ArrayUtils
> -----------------------------------
>
> Key: LANG-742
> URL: https://issues.apache.org/jira/browse/LANG-742
> Project: Commons Lang
> Issue Type: New Feature
> Components: lang.*
> Reporter: Michael Lyons
> Priority: Minor
> Attachments: StringArrayUtils.java, StringArrayUtilsTest.java
>
>
> This is a proposal for a feature addition.
> On several projects, I've needed to perform case insensitive manipulation on
> Arrays of Strings. My original need was just a solution for
> containsIgnoreCase(String[], String) and indexOfIgnoreCase(String[], String).
> In an effort to keep things simple, I created this class which implements 8
> [IgnoreCase] methods that could be a benefit to Commons Lang users.
> StringArrayUtils extends ArrayUtils, it provides case insensitive
> manipulation on an Array of Strings.
> The new methods provided in the class are:
> containsIgnoreCase(String[] array, String stringToFind)
> indexOfIgnoreCase(String[] array, String stringToFind)
> indexOfIgnoreCase(String[] array, String stringToFind, int startIndex)
> isEqualsIgnoreCase(String[] array1, String[] array2)
> lastIndexOfIgnoreCase(String[] array, String stringToFind)
> lastIndexOfIgnoreCase(String[] array, String stringToFind, int startIndex)
> removeElementIgnoreCase(String[] array, String element)
> removeElementsIgnoreCase(String[] array, String... values)
> These eight methods cover the functional pattern provided in ArrayUtils. Any
> comparison in ArrayUtils based on obj1.equals(obj2) now has an equivalent
> str1.equalsIgnoreCase(str2) in StringArrayUtils.
> I've included a test case and have made efforts to match your coding
> convention and style. Thanks in advance for your time and consideration. I'd
> be happy to follow up with any changes or edits if you think this is
> something that might be included in a future version of Commons Lang.
> ...Mike
> Ps. I understand that handling a special case for the String's
> equalsIgnoreCase(...) may be a slippery slope - which has been intentionally
> avoided. I have also considered overloading the above eight methods with a
> Comparator parameter, but requiring a user to pass in a not-null,
> case-insensitive comparator didn't seem as straight forward as the above
> solution.
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira