commons-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Henri Yandell (JIRA)" <j...@apache.org>
Subject [jira] Commented: (LANG-427) StringUtils code readability (method acceleration)
Date Sun, 11 May 2008 06:35:55 GMT

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

Henri Yandell commented on LANG-427:
------------------------------------

Looks to me like it'll be different if your text contains characters matching:

"It is a Unicode space character (SPACE_SEPARATOR, LINE_SEPARATOR, or PARAGRAPH_SEPARATOR)
but is not also a non-breaking space ('\u00A0', '\u2007', '\u202F')."

It looks like they return true for isWhitespace, but are not removed by trim. 

I think we should WONTFIX this issue as while it's presumably not hugely common to see those
three characters in an isBlank, it would represent a change of functionality for no strong
reason.

> StringUtils code readability (method acceleration)
> --------------------------------------------------
>
>                 Key: LANG-427
>                 URL: https://issues.apache.org/jira/browse/LANG-427
>             Project: Commons Lang
>          Issue Type: Improvement
>         Environment: All systems, all plattforms
>            Reporter: Torsten
>            Priority: Trivial
>   Original Estimate: 0.08h
>  Remaining Estimate: 0.08h
>
> First of all i hope you will let me stay alive :) because this is not a critical error
or even a bug. My proposal will not help to make the method run twice as fast, but I think
this would make the code easier to read, test and to maintain. I tested both methods with
Strings of length 1 to 10000 and with growing size of the Strings, the second method got actual
faster and it *never* was slower.
> This method is from the framework:
> {code:title=StringUtils.java|borderStyle=solid}
>     public static boolean isBlank(String str) {
>         int strLen;
>         if (str == null || (strLen = str.length()) == 0) {
>             return true;
>         }
>         for (int i = 0; i < strLen; i++) {
>             if ((Character.isWhitespace(str.charAt(i)) == false)) {
>                 return false;
>             }
>         }
>         return true;
>     }
> {code}
> I think this method would have the same result:
> {code:borderStyle=solid}
>     public static final boolean isBlank(String str) {
> 	return str == null || str.trim().length() == 0;
>     }
> {code}
> Greetings from Germany
> Torsten

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message