diff --git a/spring-core/src/main/java/org/springframework/util/StringUtils.java b/spring-core/src/main/java/org/springframework/util/StringUtils.java index ef6e215a38..b4573a336b 100644 --- a/spring-core/src/main/java/org/springframework/util/StringUtils.java +++ b/spring-core/src/main/java/org/springframework/util/StringUtils.java @@ -241,21 +241,23 @@ public abstract class StringUtils { } /** - * Trim all whitespace from the given {@code String}: + * Trim all whitespace from the given {@code CharSequence}: * leading, trailing, and in between characters. - * @param str the {@code String} to check - * @return the trimmed {@code String} + * @param text the {@code CharSequence} to check + * @return the trimmed {@code CharSequence} + * @since 5.3.22 + * @see #trimAllWhitespace(String) * @see java.lang.Character#isWhitespace */ - public static String trimAllWhitespace(String str) { - if (!hasLength(str)) { - return str; + public static CharSequence trimAllWhitespace(CharSequence text) { + if (!hasLength(text)) { + return text; } - int len = str.length(); - StringBuilder sb = new StringBuilder(str.length()); + int len = text.length(); + StringBuilder sb = new StringBuilder(text.length()); for (int i = 0; i < len; i++) { - char c = str.charAt(i); + char c = text.charAt(i); if (!Character.isWhitespace(c)) { sb.append(c); } @@ -263,6 +265,21 @@ public abstract class StringUtils { return sb.toString(); } + /** + * Trim all whitespace from the given {@code String}: + * leading, trailing, and in between characters. + * @param str the {@code String} to check + * @return the trimmed {@code String} + * @see #trimAllWhitespace(CharSequence) + * @see java.lang.Character#isWhitespace + */ + public static String trimAllWhitespace(String str) { + if (str == null) { + return null; + } + return trimAllWhitespace((CharSequence) str).toString(); + } + /** * Trim leading whitespace from the given {@code String}. * @param str the {@code String} to check