Improve performance of StringUtils#trimWhitespace

Issue: SPR-16766

(cherry picked from commit 6545cab)
This commit is contained in:
Oleksandr Hasheniuk
2018-04-24 21:05:58 +02:00
committed by Juergen Hoeller
parent b55f69deb1
commit 5a1d7f9c4b

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);
}
/**