[
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)