From bb01af2ab2fad2e16f73e09cc47098015b200e51 Mon Sep 17 00:00:00 2001 From: Auxilor Date: Wed, 26 Apr 2023 18:22:56 +0100 Subject: [PATCH] Optimised StringUtils#replaceQuickly --- .../src/main/java/com/willfp/eco/util/StringUtils.java | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/eco-api/src/main/java/com/willfp/eco/util/StringUtils.java b/eco-api/src/main/java/com/willfp/eco/util/StringUtils.java index f76ea389..ea5f7e66 100644 --- a/eco-api/src/main/java/com/willfp/eco/util/StringUtils.java +++ b/eco-api/src/main/java/com/willfp/eco/util/StringUtils.java @@ -747,13 +747,7 @@ public final class StringUtils { public static String replaceQuickly(@NotNull final String input, @NotNull final String target, @NotNull final String replacement) { - if (input.isEmpty()) { - return input; - } - int targetLength = target.length(); - int replacementLength = replacement.length(); - int inputLength = input.length(); // Count the number of original occurrences int count = 0; @@ -769,6 +763,9 @@ public final class StringUtils { return input; } + int replacementLength = replacement.length(); + int inputLength = input.length(); + // Pre-calculate the final size of the StringBuilder int newSize = inputLength + (replacementLength - targetLength) * count; StringBuilder result = new StringBuilder(newSize);