From 2a63147446ea251bb30e8e8eeff3574d8b04d12c 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 04403a3692bf..761799f2daa2 100644 --- a/spring-core/src/main/java/org/springframework/util/StringUtils.java +++ b/spring-core/src/main/java/org/springframework/util/StringUtils.java @@ -416,14 +416,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(); }