Skip to content

Commit edfc6c0

Browse files
XenoAmesssbrannen
authored andcommitted
Refine use of substring operations
Closes gh-25445
1 parent cdc234d commit edfc6c0

File tree

14 files changed

+15
-15
lines changed

14 files changed

+15
-15
lines changed

spring-aop/src/main/java/org/springframework/aop/aspectj/AspectJAdviceParameterNameDiscoverer.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -648,7 +648,7 @@ private PointcutBody getPointcutBody(String[] tokens, int startIndex) {
648648
}
649649

650650
if (tokens[currentIndex].endsWith(")")) {
651-
sb.append(tokens[currentIndex].substring(0, tokens[currentIndex].length() - 1));
651+
sb.append(tokens[currentIndex], 0, tokens[currentIndex].length() - 1);
652652
return new PointcutBody(numTokensConsumed, sb.toString().trim());
653653
}
654654

spring-beans/src/main/java/org/springframework/beans/PropertyEditorRegistrySupport.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -513,7 +513,7 @@ private void addStrippedPropertyPaths(List<String> strippedPaths, String nestedP
513513
if (endIndex != -1) {
514514
String prefix = propertyPath.substring(0, startIndex);
515515
String key = propertyPath.substring(startIndex, endIndex + 1);
516-
String suffix = propertyPath.substring(endIndex + 1, propertyPath.length());
516+
String suffix = propertyPath.substring(endIndex + 1);
517517
// Strip the first key.
518518
strippedPaths.add(nestedPath + prefix + suffix);
519519
// Search for further keys to strip, with the first key stripped.

spring-context/src/main/java/org/springframework/scheduling/config/TaskExecutorFactoryBean.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -107,7 +107,7 @@ private void determinePoolSizeRange(ThreadPoolTaskExecutor executor) {
107107
int separatorIndex = this.poolSize.indexOf('-');
108108
if (separatorIndex != -1) {
109109
corePoolSize = Integer.parseInt(this.poolSize.substring(0, separatorIndex));
110-
maxPoolSize = Integer.parseInt(this.poolSize.substring(separatorIndex + 1, this.poolSize.length()));
110+
maxPoolSize = Integer.parseInt(this.poolSize.substring(separatorIndex + 1));
111111
if (corePoolSize > maxPoolSize) {
112112
throw new IllegalArgumentException(
113113
"Lower bound of pool-size range must not exceed the upper bound");

spring-jms/src/main/java/org/springframework/jms/listener/DefaultMessageListenerContainer.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -310,7 +310,7 @@ public void setConcurrency(String concurrency) {
310310
int separatorIndex = concurrency.indexOf('-');
311311
if (separatorIndex != -1) {
312312
setConcurrentConsumers(Integer.parseInt(concurrency.substring(0, separatorIndex)));
313-
setMaxConcurrentConsumers(Integer.parseInt(concurrency.substring(separatorIndex + 1, concurrency.length())));
313+
setMaxConcurrentConsumers(Integer.parseInt(concurrency.substring(separatorIndex + 1)));
314314
}
315315
else {
316316
setConcurrentConsumers(1);

spring-jms/src/main/java/org/springframework/jms/listener/SimpleMessageListenerContainer.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -126,7 +126,7 @@ public void setConcurrency(String concurrency) {
126126
try {
127127
int separatorIndex = concurrency.indexOf('-');
128128
if (separatorIndex != -1) {
129-
setConcurrentConsumers(Integer.parseInt(concurrency.substring(separatorIndex + 1, concurrency.length())));
129+
setConcurrentConsumers(Integer.parseInt(concurrency.substring(separatorIndex + 1)));
130130
}
131131
else {
132132
setConcurrentConsumers(Integer.parseInt(concurrency));

spring-jms/src/main/java/org/springframework/jms/listener/endpoint/JmsActivationSpecConfig.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -226,7 +226,7 @@ public void setConcurrency(String concurrency) {
226226
try {
227227
int separatorIndex = concurrency.indexOf('-');
228228
if (separatorIndex != -1) {
229-
setMaxConcurrency(Integer.parseInt(concurrency.substring(separatorIndex + 1, concurrency.length())));
229+
setMaxConcurrency(Integer.parseInt(concurrency.substring(separatorIndex + 1)));
230230
}
231231
else {
232232
setMaxConcurrency(Integer.parseInt(concurrency));

spring-messaging/src/main/java/org/springframework/messaging/simp/stomp/StompDecoder.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -269,7 +269,7 @@ private String unescape(String inString) {
269269
int index = inString.indexOf('\\');
270270

271271
while (index >= 0) {
272-
sb.append(inString.substring(pos, index));
272+
sb.append(inString, pos, index);
273273
if (index + 1 >= inString.length()) {
274274
throw new StompConversionException("Illegal escape sequence at index " + index + ": " + inString);
275275
}

spring-messaging/src/main/java/org/springframework/messaging/simp/stomp/StompEncoder.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -212,7 +212,7 @@ else if (sb != null){
212212
private StringBuilder getStringBuilder(@Nullable StringBuilder sb, String inString, int i) {
213213
if (sb == null) {
214214
sb = new StringBuilder(inString.length());
215-
sb.append(inString.substring(0, i));
215+
sb.append(inString, 0, i);
216216
}
217217
return sb;
218218
}

spring-test/src/main/java/org/springframework/test/web/servlet/setup/PatternMappingFilterProxy.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ public PatternMappingFilterProxy(Filter delegate, String... urlPatterns) {
7171
private void addUrlPattern(String urlPattern) {
7272
Assert.notNull(urlPattern, "Found null URL Pattern");
7373
if (urlPattern.startsWith(EXTENSION_MAPPING_PATTERN)) {
74-
this.endsWithMatches.add(urlPattern.substring(1, urlPattern.length()));
74+
this.endsWithMatches.add(urlPattern.substring(1));
7575
}
7676
else if (urlPattern.equals(PATH_MAPPING_PATTERN)) {
7777
this.startsWithMatches.add("");

spring-web/src/main/java/org/springframework/web/util/UriTemplate.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -225,7 +225,7 @@ else if (c == '}') {
225225
throw new IllegalArgumentException(
226226
"No custom regular expression specified after ':' in \"" + variable + "\"");
227227
}
228-
String regex = variable.substring(idx + 1, variable.length());
228+
String regex = variable.substring(idx + 1);
229229
pattern.append('(');
230230
pattern.append(regex);
231231
pattern.append(')');

spring-webflux/src/main/java/org/springframework/web/reactive/result/view/RedirectView.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -245,12 +245,12 @@ protected StringBuilder expandTargetUrlTemplate(String targetUrl,
245245
String name = matcher.group(1);
246246
Object value = (model.containsKey(name) ? model.get(name) : uriVariables.get(name));
247247
Assert.notNull(value, () -> "No value for URI variable '" + name + "'");
248-
result.append(targetUrl.substring(endLastMatch, matcher.start()));
248+
result.append(targetUrl, endLastMatch, matcher.start());
249249
result.append(encodeUriVariable(value.toString()));
250250
endLastMatch = matcher.end();
251251
found = matcher.find();
252252
}
253-
result.append(targetUrl.substring(endLastMatch, targetUrl.length()));
253+
result.append(targetUrl.substring(endLastMatch));
254254
return result;
255255
}
256256

spring-webmvc/src/main/java/org/springframework/web/servlet/tags/UrlTag.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -278,7 +278,7 @@ String createUrl() throws JspException {
278278
}
279279
else {
280280
if (this.context.endsWith("/")) {
281-
url.append(this.context.substring(0, this.context.length() - 1));
281+
url.append(this.context, 0, this.context.length() - 1);
282282
}
283283
else {
284284
url.append(this.context);

spring-webmvc/src/main/java/org/springframework/web/servlet/view/RedirectView.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -386,7 +386,7 @@ protected StringBuilder replaceUriTemplateVariables(
386386
if (value == null) {
387387
throw new IllegalArgumentException("Model has no value for key '" + name + "'");
388388
}
389-
result.append(targetUrl.substring(endLastMatch, matcher.start()));
389+
result.append(targetUrl, endLastMatch, matcher.start());
390390
result.append(UriUtils.encodePathSegment(value.toString(), encodingScheme));
391391
endLastMatch = matcher.end();
392392
}

spring-websocket/src/main/java/org/springframework/web/socket/WebSocketExtension.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -160,7 +160,7 @@ private static WebSocketExtension parseExtension(String extension) {
160160
int eqIndex = parameter.indexOf('=');
161161
if (eqIndex != -1) {
162162
String attribute = parameter.substring(0, eqIndex);
163-
String value = parameter.substring(eqIndex + 1, parameter.length());
163+
String value = parameter.substring(eqIndex + 1);
164164
parameters.put(attribute, value);
165165
}
166166
}

0 commit comments

Comments
 (0)