[ 
https://issues.apache.org/jira/browse/LANG-1679?focusedWorklogId=703212&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-703212
 ]

ASF GitHub Bot logged work on LANG-1679:
----------------------------------------

                Author: ASF GitHub Bot
            Created on: 04/Jan/22 07:35
            Start Date: 04/Jan/22 07:35
    Worklog Time Spent: 10m 
      Work Description: cloverandwang opened a new pull request #844:
URL: https://github.com/apache/commons-lang/pull/844


   There're some redundant method calling and index checking in 
StringUtils.unwrap(String, String), which can be deleted to make unwrap(,) more 
concise and efficient.
   Please refer to: https://issues.apache.org/jira/browse/LANG-1679 (a JMH test 
result also provided)


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


Issue Time Tracking
-------------------

            Worklog Id:     (was: 703212)
    Remaining Estimate: 0h
            Time Spent: 10m

> StringUtils.unwrap() may be implemented faster
> ----------------------------------------------
>
>                 Key: LANG-1679
>                 URL: https://issues.apache.org/jira/browse/LANG-1679
>             Project: Commons Lang
>          Issue Type: Improvement
>            Reporter: clover
>            Priority: Minor
>          Time Spent: 10m
>  Remaining Estimate: 0h
>
> public static String unwrap(final String str, final String wrapToken) {
>         if (isEmpty(str) || isEmpty(wrapToken) || str.length() < 2 * 
> wrapToken.length())
> {             return str;         }
>         if (startsWith(str, wrapToken) && endsWith(str, wrapToken)) {
>            {color:#de350b} // When we come here, startIndex must be 0. Thus, 
> startIndex is redundant.{color}
>             final int startIndex = str.indexOf(wrapToken);
> {color:#ff0000}            final int endIndex = 
> str.lastIndexOf(wrapToken);{color}
>             final int wrapLength = wrapToken.length();
> {color:#172b4d}           {color:#de350b}// (startIndex != -1 && endIndex != 
> -1) is always true{color}{color}
> {color:#ff0000}            if (startIndex != -1 && endIndex != -1) {{color}
> {color:#ff0000}                return str.substring(startIndex + wrapLength, 
> endIndex);{color}
> {color:#ff0000}            }{color}
>         }
>         return str;
>     }
>  
> *As commented above, unwrap() could be improved:*
> public static String unwrap(final String str, final String wrapToken) {
>         if (isEmpty(str) || isEmpty(wrapToken) || str.length() < 2 * 
> wrapToken.length()) \{             return str;         }
>         if (startsWith(str, wrapToken) && endsWith(str, wrapToken)) {
> {color:#ff0000}                return str.substring(wrapToken.length(), 
> str.lastIndexOf(wrapToken));{color}
> {color:#ff0000}            }{color}
>         }
>         return str;
>     }



--
This message was sent by Atlassian Jira
(v8.20.1#820001)

Reply via email to