« Return to Thread: [jira] Created: (LANG-427) StringUtils code readability (method acceleration)

[jira] Commented: (LANG-427) StringUtils code readability (method acceleration)

by JIRA jira@apache.org :: Rate this Message:

Reply to Author | View in Thread


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

Julien Aymé commented on LANG-427:
----------------------------------

I have another comment regarding the fact that the new method is never slower:

IMO, the new method can be slower for the non-empty strings, since the trim() method will try to remove spaces at the  beginning and at the end of the string, whereas isWhiteSpace will return false for the first character.

The new method will certainly be slower for non-empty strings with lots of white spaces at the end:
in addition of the argument mentioned above, the trim() method has to create a new String (the trimmed one), whereas the current code does not create any new object.


> 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.

 « Return to Thread: [jira] Created: (LANG-427) StringUtils code readability (method acceleration)

LightInTheBox - Buy quality products at wholesale price