Refine use of substring operations

Closes gh-25445
This commit is contained in:
XenoAmess
2020-07-21 23:09:43 +08:00
committed by Sam Brannen
parent cdc234d7db
commit edfc6c0293
14 changed files with 15 additions and 15 deletions

View File

@@ -648,7 +648,7 @@ public class AspectJAdviceParameterNameDiscoverer implements ParameterNameDiscov
} }
if (tokens[currentIndex].endsWith(")")) { 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()); return new PointcutBody(numTokensConsumed, sb.toString().trim());
} }

View File

@@ -513,7 +513,7 @@ public class PropertyEditorRegistrySupport implements PropertyEditorRegistry {
if (endIndex != -1) { if (endIndex != -1) {
String prefix = propertyPath.substring(0, startIndex); String prefix = propertyPath.substring(0, startIndex);
String key = propertyPath.substring(startIndex, endIndex + 1); 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. // Strip the first key.
strippedPaths.add(nestedPath + prefix + suffix); strippedPaths.add(nestedPath + prefix + suffix);
// Search for further keys to strip, with the first key stripped. // Search for further keys to strip, with the first key stripped.

View File

@@ -107,7 +107,7 @@ public class TaskExecutorFactoryBean implements
int separatorIndex = this.poolSize.indexOf('-'); int separatorIndex = this.poolSize.indexOf('-');
if (separatorIndex != -1) { if (separatorIndex != -1) {
corePoolSize = Integer.parseInt(this.poolSize.substring(0, separatorIndex)); 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) { if (corePoolSize > maxPoolSize) {
throw new IllegalArgumentException( throw new IllegalArgumentException(
"Lower bound of pool-size range must not exceed the upper bound"); "Lower bound of pool-size range must not exceed the upper bound");

View File

@@ -310,7 +310,7 @@ public class DefaultMessageListenerContainer extends AbstractPollingMessageListe
int separatorIndex = concurrency.indexOf('-'); int separatorIndex = concurrency.indexOf('-');
if (separatorIndex != -1) { if (separatorIndex != -1) {
setConcurrentConsumers(Integer.parseInt(concurrency.substring(0, separatorIndex))); setConcurrentConsumers(Integer.parseInt(concurrency.substring(0, separatorIndex)));
setMaxConcurrentConsumers(Integer.parseInt(concurrency.substring(separatorIndex + 1, concurrency.length()))); setMaxConcurrentConsumers(Integer.parseInt(concurrency.substring(separatorIndex + 1)));
} }
else { else {
setConcurrentConsumers(1); setConcurrentConsumers(1);

View File

@@ -126,7 +126,7 @@ public class SimpleMessageListenerContainer extends AbstractMessageListenerConta
try { try {
int separatorIndex = concurrency.indexOf('-'); int separatorIndex = concurrency.indexOf('-');
if (separatorIndex != -1) { if (separatorIndex != -1) {
setConcurrentConsumers(Integer.parseInt(concurrency.substring(separatorIndex + 1, concurrency.length()))); setConcurrentConsumers(Integer.parseInt(concurrency.substring(separatorIndex + 1)));
} }
else { else {
setConcurrentConsumers(Integer.parseInt(concurrency)); setConcurrentConsumers(Integer.parseInt(concurrency));

View File

@@ -226,7 +226,7 @@ public class JmsActivationSpecConfig {
try { try {
int separatorIndex = concurrency.indexOf('-'); int separatorIndex = concurrency.indexOf('-');
if (separatorIndex != -1) { if (separatorIndex != -1) {
setMaxConcurrency(Integer.parseInt(concurrency.substring(separatorIndex + 1, concurrency.length()))); setMaxConcurrency(Integer.parseInt(concurrency.substring(separatorIndex + 1)));
} }
else { else {
setMaxConcurrency(Integer.parseInt(concurrency)); setMaxConcurrency(Integer.parseInt(concurrency));

View File

@@ -269,7 +269,7 @@ public class StompDecoder {
int index = inString.indexOf('\\'); int index = inString.indexOf('\\');
while (index >= 0) { while (index >= 0) {
sb.append(inString.substring(pos, index)); sb.append(inString, pos, index);
if (index + 1 >= inString.length()) { if (index + 1 >= inString.length()) {
throw new StompConversionException("Illegal escape sequence at index " + index + ": " + inString); throw new StompConversionException("Illegal escape sequence at index " + index + ": " + inString);
} }

View File

@@ -212,7 +212,7 @@ public class StompEncoder {
private StringBuilder getStringBuilder(@Nullable StringBuilder sb, String inString, int i) { private StringBuilder getStringBuilder(@Nullable StringBuilder sb, String inString, int i) {
if (sb == null) { if (sb == null) {
sb = new StringBuilder(inString.length()); sb = new StringBuilder(inString.length());
sb.append(inString.substring(0, i)); sb.append(inString, 0, i);
} }
return sb; return sb;
} }

View File

@@ -71,7 +71,7 @@ final class PatternMappingFilterProxy implements Filter {
private void addUrlPattern(String urlPattern) { private void addUrlPattern(String urlPattern) {
Assert.notNull(urlPattern, "Found null URL Pattern"); Assert.notNull(urlPattern, "Found null URL Pattern");
if (urlPattern.startsWith(EXTENSION_MAPPING_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)) { else if (urlPattern.equals(PATH_MAPPING_PATTERN)) {
this.startsWithMatches.add(""); this.startsWithMatches.add("");

View File

@@ -225,7 +225,7 @@ public class UriTemplate implements Serializable {
throw new IllegalArgumentException( throw new IllegalArgumentException(
"No custom regular expression specified after ':' in \"" + variable + "\""); "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('(');
pattern.append(regex); pattern.append(regex);
pattern.append(')'); pattern.append(')');

View File

@@ -245,12 +245,12 @@ public class RedirectView extends AbstractUrlBasedView {
String name = matcher.group(1); String name = matcher.group(1);
Object value = (model.containsKey(name) ? model.get(name) : uriVariables.get(name)); Object value = (model.containsKey(name) ? model.get(name) : uriVariables.get(name));
Assert.notNull(value, () -> "No value for URI variable '" + 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())); result.append(encodeUriVariable(value.toString()));
endLastMatch = matcher.end(); endLastMatch = matcher.end();
found = matcher.find(); found = matcher.find();
} }
result.append(targetUrl.substring(endLastMatch, targetUrl.length())); result.append(targetUrl.substring(endLastMatch));
return result; return result;
} }

View File

@@ -278,7 +278,7 @@ public class UrlTag extends HtmlEscapingAwareTag implements ParamAware {
} }
else { else {
if (this.context.endsWith("/")) { if (this.context.endsWith("/")) {
url.append(this.context.substring(0, this.context.length() - 1)); url.append(this.context, 0, this.context.length() - 1);
} }
else { else {
url.append(this.context); url.append(this.context);

View File

@@ -386,7 +386,7 @@ public class RedirectView extends AbstractUrlBasedView implements SmartView {
if (value == null) { if (value == null) {
throw new IllegalArgumentException("Model has no value for key '" + name + "'"); 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)); result.append(UriUtils.encodePathSegment(value.toString(), encodingScheme));
endLastMatch = matcher.end(); endLastMatch = matcher.end();
} }

View File

@@ -160,7 +160,7 @@ public class WebSocketExtension {
int eqIndex = parameter.indexOf('='); int eqIndex = parameter.indexOf('=');
if (eqIndex != -1) { if (eqIndex != -1) {
String attribute = parameter.substring(0, eqIndex); String attribute = parameter.substring(0, eqIndex);
String value = parameter.substring(eqIndex + 1, parameter.length()); String value = parameter.substring(eqIndex + 1);
parameters.put(attribute, value); parameters.put(attribute, value);
} }
} }