From 268d02958415c61d83d01e96fddc8ffaf0d23375 Mon Sep 17 00:00:00 2001 From: Juergen Hoeller Date: Tue, 19 Nov 2019 14:53:30 +0100 Subject: [PATCH] Avoid substring allocation in StringUtils.replace Closes gh-24023 --- .../src/main/java/org/springframework/util/StringUtils.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) 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 c1a21478faf3..7f1055d1a282 100644 --- a/spring-core/src/main/java/org/springframework/util/StringUtils.java +++ b/spring-core/src/main/java/org/springframework/util/StringUtils.java @@ -417,14 +417,14 @@ public static String replace(String inString, String oldPattern, @Nullable Strin int pos = 0; // our position in the old string int patLen = oldPattern.length(); while (index >= 0) { - sb.append(inString.substring(pos, index)); + sb.append(inString, pos, index); sb.append(newPattern); pos = index + patLen; index = inString.indexOf(oldPattern, pos); } // append any characters to the right of a match - sb.append(inString.substring(pos)); + sb.append(inString, pos, inString.length()); return sb.toString(); }