Improve performance of StringUtils#trimWhitespace

Issue: SPR-16766
This commit is contained in:
Oleksandr Hasheniuk 2018-04-24 22:05:58 +03:00 committed by Juergen Hoeller
parent 8d157cb5b5
commit 6545cab42c
1 changed files with 10 additions and 6 deletions

View File

@ -209,14 +209,18 @@ public abstract class StringUtils {
return str;
}
StringBuilder sb = new StringBuilder(str);
while (sb.length() > 0 && Character.isWhitespace(sb.charAt(0))) {
sb.deleteCharAt(0);
int beginIndex = 0;
int endIndex = str.length() - 1;
while (beginIndex <= endIndex && Character.isWhitespace(str.charAt(beginIndex))) {
beginIndex++;
}
while (sb.length() > 0 && Character.isWhitespace(sb.charAt(sb.length() - 1))) {
sb.deleteCharAt(sb.length() - 1);
while (endIndex > beginIndex && Character.isWhitespace(str.charAt(endIndex))) {
endIndex--;
}
return sb.toString();
return str.substring(beginIndex, endIndex + 1);
}
/**