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; return str;
} }
StringBuilder sb = new StringBuilder(str); int beginIndex = 0;
while (sb.length() > 0 && Character.isWhitespace(sb.charAt(0))) { int endIndex = str.length() - 1;
sb.deleteCharAt(0);
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);
} }
/** /**