Refine use of substring operations
Closes gh-25445
This commit is contained in:
@@ -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());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -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.
|
||||||
|
|||||||
@@ -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");
|
||||||
|
|||||||
@@ -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);
|
||||||
|
|||||||
@@ -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));
|
||||||
|
|||||||
@@ -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));
|
||||||
|
|||||||
@@ -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);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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("");
|
||||||
|
|||||||
@@ -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(')');
|
||||||
|
|||||||
@@ -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;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -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);
|
||||||
|
|||||||
@@ -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();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user