From bd7cf8fe69873d29d88e5e575cc52ab623e6bfec Mon Sep 17 00:00:00 2001 From: XenoAmess Date: Tue, 21 Jul 2020 23:09:43 +0800 Subject: [PATCH] reduce some String operations. --- .../aop/aspectj/AspectJAdviceParameterNameDiscoverer.java | 2 +- .../springframework/beans/PropertyEditorRegistrySupport.java | 2 +- .../scheduling/config/TaskExecutorFactoryBean.java | 2 +- .../jms/listener/DefaultMessageListenerContainer.java | 2 +- .../jms/listener/SimpleMessageListenerContainer.java | 2 +- .../jms/listener/endpoint/JmsActivationSpecConfig.java | 2 +- .../springframework/messaging/simp/stomp/StompDecoder.java | 2 +- .../springframework/messaging/simp/stomp/StompEncoder.java | 2 +- .../test/web/servlet/setup/PatternMappingFilterProxy.java | 2 +- .../main/java/org/springframework/web/util/UriTemplate.java | 2 +- .../web/reactive/result/view/RedirectView.java | 4 ++-- .../java/org/springframework/web/servlet/tags/UrlTag.java | 2 +- .../org/springframework/web/servlet/view/RedirectView.java | 2 +- .../org/springframework/web/socket/WebSocketExtension.java | 2 +- 14 files changed, 15 insertions(+), 15 deletions(-) diff --git a/spring-aop/src/main/java/org/springframework/aop/aspectj/AspectJAdviceParameterNameDiscoverer.java b/spring-aop/src/main/java/org/springframework/aop/aspectj/AspectJAdviceParameterNameDiscoverer.java index 1dacc08948b7..dd0c7a472e10 100644 --- a/spring-aop/src/main/java/org/springframework/aop/aspectj/AspectJAdviceParameterNameDiscoverer.java +++ b/spring-aop/src/main/java/org/springframework/aop/aspectj/AspectJAdviceParameterNameDiscoverer.java @@ -648,7 +648,7 @@ private PointcutBody getPointcutBody(String[] tokens, int startIndex) { } if (tokens[currentIndex].endsWith(")")) { - sb.append(tokens[currentIndex].substring(0, tokens[currentIndex].length() - 1)); + sb.append(tokens[currentIndex], 0, tokens[currentIndex].length() - 1); return new PointcutBody(numTokensConsumed, sb.toString().trim()); } diff --git a/spring-beans/src/main/java/org/springframework/beans/PropertyEditorRegistrySupport.java b/spring-beans/src/main/java/org/springframework/beans/PropertyEditorRegistrySupport.java index f18be1bb7fcc..d1354e1d89b0 100644 --- a/spring-beans/src/main/java/org/springframework/beans/PropertyEditorRegistrySupport.java +++ b/spring-beans/src/main/java/org/springframework/beans/PropertyEditorRegistrySupport.java @@ -513,7 +513,7 @@ private void addStrippedPropertyPaths(List strippedPaths, String nestedP if (endIndex != -1) { String prefix = propertyPath.substring(0, startIndex); String key = propertyPath.substring(startIndex, endIndex + 1); - String suffix = propertyPath.substring(endIndex + 1, propertyPath.length()); + String suffix = propertyPath.substring(endIndex + 1); // Strip the first key. strippedPaths.add(nestedPath + prefix + suffix); // Search for further keys to strip, with the first key stripped. diff --git a/spring-context/src/main/java/org/springframework/scheduling/config/TaskExecutorFactoryBean.java b/spring-context/src/main/java/org/springframework/scheduling/config/TaskExecutorFactoryBean.java index a672b107c81a..61a0a8aeebd1 100644 --- a/spring-context/src/main/java/org/springframework/scheduling/config/TaskExecutorFactoryBean.java +++ b/spring-context/src/main/java/org/springframework/scheduling/config/TaskExecutorFactoryBean.java @@ -107,7 +107,7 @@ private void determinePoolSizeRange(ThreadPoolTaskExecutor executor) { int separatorIndex = this.poolSize.indexOf('-'); if (separatorIndex != -1) { corePoolSize = Integer.parseInt(this.poolSize.substring(0, separatorIndex)); - maxPoolSize = Integer.parseInt(this.poolSize.substring(separatorIndex + 1, this.poolSize.length())); + maxPoolSize = Integer.parseInt(this.poolSize.substring(separatorIndex + 1)); if (corePoolSize > maxPoolSize) { throw new IllegalArgumentException( "Lower bound of pool-size range must not exceed the upper bound"); diff --git a/spring-jms/src/main/java/org/springframework/jms/listener/DefaultMessageListenerContainer.java b/spring-jms/src/main/java/org/springframework/jms/listener/DefaultMessageListenerContainer.java index cedf181ede78..eb6c46aa8d62 100644 --- a/spring-jms/src/main/java/org/springframework/jms/listener/DefaultMessageListenerContainer.java +++ b/spring-jms/src/main/java/org/springframework/jms/listener/DefaultMessageListenerContainer.java @@ -310,7 +310,7 @@ public void setConcurrency(String concurrency) { int separatorIndex = concurrency.indexOf('-'); if (separatorIndex != -1) { setConcurrentConsumers(Integer.parseInt(concurrency.substring(0, separatorIndex))); - setMaxConcurrentConsumers(Integer.parseInt(concurrency.substring(separatorIndex + 1, concurrency.length()))); + setMaxConcurrentConsumers(Integer.parseInt(concurrency.substring(separatorIndex + 1))); } else { setConcurrentConsumers(1); diff --git a/spring-jms/src/main/java/org/springframework/jms/listener/SimpleMessageListenerContainer.java b/spring-jms/src/main/java/org/springframework/jms/listener/SimpleMessageListenerContainer.java index defc82ece9d3..fff1eea498ca 100644 --- a/spring-jms/src/main/java/org/springframework/jms/listener/SimpleMessageListenerContainer.java +++ b/spring-jms/src/main/java/org/springframework/jms/listener/SimpleMessageListenerContainer.java @@ -126,7 +126,7 @@ public void setConcurrency(String concurrency) { try { int separatorIndex = concurrency.indexOf('-'); if (separatorIndex != -1) { - setConcurrentConsumers(Integer.parseInt(concurrency.substring(separatorIndex + 1, concurrency.length()))); + setConcurrentConsumers(Integer.parseInt(concurrency.substring(separatorIndex + 1))); } else { setConcurrentConsumers(Integer.parseInt(concurrency)); diff --git a/spring-jms/src/main/java/org/springframework/jms/listener/endpoint/JmsActivationSpecConfig.java b/spring-jms/src/main/java/org/springframework/jms/listener/endpoint/JmsActivationSpecConfig.java index 602027e211d4..ea5eb609c64e 100644 --- a/spring-jms/src/main/java/org/springframework/jms/listener/endpoint/JmsActivationSpecConfig.java +++ b/spring-jms/src/main/java/org/springframework/jms/listener/endpoint/JmsActivationSpecConfig.java @@ -226,7 +226,7 @@ public void setConcurrency(String concurrency) { try { int separatorIndex = concurrency.indexOf('-'); if (separatorIndex != -1) { - setMaxConcurrency(Integer.parseInt(concurrency.substring(separatorIndex + 1, concurrency.length()))); + setMaxConcurrency(Integer.parseInt(concurrency.substring(separatorIndex + 1))); } else { setMaxConcurrency(Integer.parseInt(concurrency)); diff --git a/spring-messaging/src/main/java/org/springframework/messaging/simp/stomp/StompDecoder.java b/spring-messaging/src/main/java/org/springframework/messaging/simp/stomp/StompDecoder.java index ae273e561657..d71f78752ccb 100644 --- a/spring-messaging/src/main/java/org/springframework/messaging/simp/stomp/StompDecoder.java +++ b/spring-messaging/src/main/java/org/springframework/messaging/simp/stomp/StompDecoder.java @@ -269,7 +269,7 @@ private String unescape(String inString) { int index = inString.indexOf('\\'); while (index >= 0) { - sb.append(inString.substring(pos, index)); + sb.append(inString, pos, index); if (index + 1 >= inString.length()) { throw new StompConversionException("Illegal escape sequence at index " + index + ": " + inString); } diff --git a/spring-messaging/src/main/java/org/springframework/messaging/simp/stomp/StompEncoder.java b/spring-messaging/src/main/java/org/springframework/messaging/simp/stomp/StompEncoder.java index fb80ef583034..a9c163ac6911 100644 --- a/spring-messaging/src/main/java/org/springframework/messaging/simp/stomp/StompEncoder.java +++ b/spring-messaging/src/main/java/org/springframework/messaging/simp/stomp/StompEncoder.java @@ -212,7 +212,7 @@ else if (sb != null){ private StringBuilder getStringBuilder(@Nullable StringBuilder sb, String inString, int i) { if (sb == null) { sb = new StringBuilder(inString.length()); - sb.append(inString.substring(0, i)); + sb.append(inString, 0, i); } return sb; } diff --git a/spring-test/src/main/java/org/springframework/test/web/servlet/setup/PatternMappingFilterProxy.java b/spring-test/src/main/java/org/springframework/test/web/servlet/setup/PatternMappingFilterProxy.java index 314f8ada3c0e..1966016813c4 100644 --- a/spring-test/src/main/java/org/springframework/test/web/servlet/setup/PatternMappingFilterProxy.java +++ b/spring-test/src/main/java/org/springframework/test/web/servlet/setup/PatternMappingFilterProxy.java @@ -71,7 +71,7 @@ public PatternMappingFilterProxy(Filter delegate, String... urlPatterns) { private void addUrlPattern(String urlPattern) { Assert.notNull(urlPattern, "Found null URL Pattern"); if (urlPattern.startsWith(EXTENSION_MAPPING_PATTERN)) { - this.endsWithMatches.add(urlPattern.substring(1, urlPattern.length())); + this.endsWithMatches.add(urlPattern.substring(1)); } else if (urlPattern.equals(PATH_MAPPING_PATTERN)) { this.startsWithMatches.add(""); diff --git a/spring-web/src/main/java/org/springframework/web/util/UriTemplate.java b/spring-web/src/main/java/org/springframework/web/util/UriTemplate.java index 6290db6ef8d4..ffe01470a7d0 100644 --- a/spring-web/src/main/java/org/springframework/web/util/UriTemplate.java +++ b/spring-web/src/main/java/org/springframework/web/util/UriTemplate.java @@ -225,7 +225,7 @@ else if (c == '}') { throw new IllegalArgumentException( "No custom regular expression specified after ':' in \"" + variable + "\""); } - String regex = variable.substring(idx + 1, variable.length()); + String regex = variable.substring(idx + 1); pattern.append('('); pattern.append(regex); pattern.append(')'); diff --git a/spring-webflux/src/main/java/org/springframework/web/reactive/result/view/RedirectView.java b/spring-webflux/src/main/java/org/springframework/web/reactive/result/view/RedirectView.java index 9c614638983c..538fb119c65b 100644 --- a/spring-webflux/src/main/java/org/springframework/web/reactive/result/view/RedirectView.java +++ b/spring-webflux/src/main/java/org/springframework/web/reactive/result/view/RedirectView.java @@ -245,12 +245,12 @@ protected StringBuilder expandTargetUrlTemplate(String targetUrl, String name = matcher.group(1); Object value = (model.containsKey(name) ? model.get(name) : uriVariables.get(name)); Assert.notNull(value, () -> "No value for URI variable '" + name + "'"); - result.append(targetUrl.substring(endLastMatch, matcher.start())); + result.append(targetUrl, endLastMatch, matcher.start()); result.append(encodeUriVariable(value.toString())); endLastMatch = matcher.end(); found = matcher.find(); } - result.append(targetUrl.substring(endLastMatch, targetUrl.length())); + result.append(targetUrl.substring(endLastMatch)); return result; } diff --git a/spring-webmvc/src/main/java/org/springframework/web/servlet/tags/UrlTag.java b/spring-webmvc/src/main/java/org/springframework/web/servlet/tags/UrlTag.java index 86651e796159..95fac18859e1 100644 --- a/spring-webmvc/src/main/java/org/springframework/web/servlet/tags/UrlTag.java +++ b/spring-webmvc/src/main/java/org/springframework/web/servlet/tags/UrlTag.java @@ -278,7 +278,7 @@ String createUrl() throws JspException { } else { if (this.context.endsWith("/")) { - url.append(this.context.substring(0, this.context.length() - 1)); + url.append(this.context, 0, this.context.length() - 1); } else { url.append(this.context); diff --git a/spring-webmvc/src/main/java/org/springframework/web/servlet/view/RedirectView.java b/spring-webmvc/src/main/java/org/springframework/web/servlet/view/RedirectView.java index 324a6f4aff06..0285f15b654e 100644 --- a/spring-webmvc/src/main/java/org/springframework/web/servlet/view/RedirectView.java +++ b/spring-webmvc/src/main/java/org/springframework/web/servlet/view/RedirectView.java @@ -386,7 +386,7 @@ protected StringBuilder replaceUriTemplateVariables( if (value == null) { throw new IllegalArgumentException("Model has no value for key '" + name + "'"); } - result.append(targetUrl.substring(endLastMatch, matcher.start())); + result.append(targetUrl, endLastMatch, matcher.start()); result.append(UriUtils.encodePathSegment(value.toString(), encodingScheme)); endLastMatch = matcher.end(); } diff --git a/spring-websocket/src/main/java/org/springframework/web/socket/WebSocketExtension.java b/spring-websocket/src/main/java/org/springframework/web/socket/WebSocketExtension.java index 0a719fedef6d..1483bf7e7d2d 100644 --- a/spring-websocket/src/main/java/org/springframework/web/socket/WebSocketExtension.java +++ b/spring-websocket/src/main/java/org/springframework/web/socket/WebSocketExtension.java @@ -160,7 +160,7 @@ private static WebSocketExtension parseExtension(String extension) { int eqIndex = parameter.indexOf('='); if (eqIndex != -1) { String attribute = parameter.substring(0, eqIndex); - String value = parameter.substring(eqIndex + 1, parameter.length()); + String value = parameter.substring(eqIndex + 1); parameters.put(attribute, value); } }