[
https://issues.apache.org/jira/browse/LANG-604?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13102223#comment-13102223
]
Henri Yandell commented on LANG-604:
------------------------------------
Coming back to this one, I'm unconvinced of the need to improve performance (at
the cost of simplicity). There are theory based performance improvements for "
123", but we're talking the difference between 1 and 2 charAt calls. Very small
stuff. The same could hold true for much larger strings, but they are going to
be rare enough as to require their own optimization techniques if they're
expected as the norm (ie: hand roll your own code, possibly switch to a faster
system if Java is considered 'too slow').
So while I continue to agree with the performance improvement, I don't believe
they actualize as big enough to warrant the code complexity.
Sorry for the big delay.
> Optimize isBlank() for untrimmed strings
> ----------------------------------------
>
> Key: LANG-604
> URL: https://issues.apache.org/jira/browse/LANG-604
> Project: Commons Lang
> Issue Type: Improvement
> Components: lang.*
> Affects Versions: 3.0
> Reporter: Kai Gülzau
> Priority: Minor
> Fix For: 3.0.2
>
>
> Change isBlank() to start iteration in the middle of the String.
> So you get better performance for untrimmed Strings like " dummy ".
> Here is my proposal:
> public static boolean isBlank(CharSequence cs) {
> int strLen;
> if (cs == null || (strLen = cs.length()) == 0) {
> return true;
> }
> int mid = strLen / 2, i = mid;
> for (; i < strLen; i++) {
> if (!Character.isWhitespace(cs.charAt(i))) {
> return false;
> }
> }
> for (i = 0; i < mid; i++) {
> if (!Character.isWhitespace(cs.charAt(i))) {
> return false;
> }
> }
> return true;
> }
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira