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 6e0c4ffe3d5..d1a9c25c94a 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 @@ -421,7 +421,7 @@ public class AspectJAdviceParameterNameDiscoverer implements ParameterNameDiscov String[] tokens = StringUtils.tokenizeToStringArray(this.pointcutExpression, " "); for (int i = 0; i < tokens.length; i++) { String toMatch = tokens[i]; - int firstParenIndex = toMatch.indexOf("("); + int firstParenIndex = toMatch.indexOf('('); if (firstParenIndex != -1) { toMatch = toMatch.substring(0, firstParenIndex); } @@ -582,7 +582,7 @@ public class AspectJAdviceParameterNameDiscoverer implements ParameterNameDiscov if (toMatch.startsWith("!")) { toMatch = toMatch.substring(1); } - int firstParenIndex = toMatch.indexOf("("); + int firstParenIndex = toMatch.indexOf('('); if (firstParenIndex != -1) { toMatch = toMatch.substring(0, firstParenIndex); } diff --git a/spring-aop/src/main/java/org/springframework/aop/aspectj/annotation/AspectMetadata.java b/spring-aop/src/main/java/org/springframework/aop/aspectj/annotation/AspectMetadata.java index 5b905cfe2c1..937690c7be3 100644 --- a/spring-aop/src/main/java/org/springframework/aop/aspectj/annotation/AspectMetadata.java +++ b/spring-aop/src/main/java/org/springframework/aop/aspectj/annotation/AspectMetadata.java @@ -127,7 +127,7 @@ public class AspectMetadata implements Serializable { */ private String findPerClause(Class aspectClass) { String str = aspectClass.getAnnotation(Aspect.class).value(); - str = str.substring(str.indexOf("(") + 1); + str = str.substring(str.indexOf('(') + 1); str = str.substring(0, str.length() - 1); return str; } diff --git a/spring-beans/src/main/java/org/springframework/beans/BeanUtils.java b/spring-beans/src/main/java/org/springframework/beans/BeanUtils.java index 067a4be26b6..5819471ee85 100644 --- a/spring-beans/src/main/java/org/springframework/beans/BeanUtils.java +++ b/spring-beans/src/main/java/org/springframework/beans/BeanUtils.java @@ -367,8 +367,8 @@ public abstract class BeanUtils { public static Method resolveSignature(String signature, Class clazz) { Assert.hasText(signature, "'signature' must not be empty"); Assert.notNull(clazz, "Class must not be null"); - int firstParen = signature.indexOf("("); - int lastParen = signature.indexOf(")"); + int firstParen = signature.indexOf('('); + int lastParen = signature.indexOf(')'); if (firstParen > -1 && lastParen == -1) { throw new IllegalArgumentException("Invalid method signature '" + signature + "': expected closing ')' for args list"); diff --git a/spring-beans/src/main/java/org/springframework/beans/TypeConverterDelegate.java b/spring-beans/src/main/java/org/springframework/beans/TypeConverterDelegate.java index eeadc330a19..11c2aab641b 100644 --- a/spring-beans/src/main/java/org/springframework/beans/TypeConverterDelegate.java +++ b/spring-beans/src/main/java/org/springframework/beans/TypeConverterDelegate.java @@ -317,7 +317,7 @@ class TypeConverterDelegate { if (Enum.class == requiredType && this.targetObject != null) { // target type is declared as raw enum, treat the trimmed value as .FIELD_NAME - int index = trimmedValue.lastIndexOf("."); + int index = trimmedValue.lastIndexOf('.'); if (index > - 1) { String enumType = trimmedValue.substring(0, index); String fieldName = trimmedValue.substring(index + 1); diff --git a/spring-beans/src/main/java/org/springframework/beans/factory/xml/BeansDtdResolver.java b/spring-beans/src/main/java/org/springframework/beans/factory/xml/BeansDtdResolver.java index 33a989d83aa..559de3b6b83 100644 --- a/spring-beans/src/main/java/org/springframework/beans/factory/xml/BeansDtdResolver.java +++ b/spring-beans/src/main/java/org/springframework/beans/factory/xml/BeansDtdResolver.java @@ -58,7 +58,7 @@ public class BeansDtdResolver implements EntityResolver { "] and system ID [" + systemId + "]"); } if (systemId != null && systemId.endsWith(DTD_EXTENSION)) { - int lastPathSeparator = systemId.lastIndexOf("/"); + int lastPathSeparator = systemId.lastIndexOf('/'); int dtdNameStart = systemId.indexOf(DTD_NAME, lastPathSeparator); if (dtdNameStart != -1) { String dtdFile = DTD_NAME + DTD_EXTENSION; diff --git a/spring-beans/src/main/java/org/springframework/beans/factory/xml/UtilNamespaceHandler.java b/spring-beans/src/main/java/org/springframework/beans/factory/xml/UtilNamespaceHandler.java index ba6b41ac821..6736e0df138 100644 --- a/spring-beans/src/main/java/org/springframework/beans/factory/xml/UtilNamespaceHandler.java +++ b/spring-beans/src/main/java/org/springframework/beans/factory/xml/UtilNamespaceHandler.java @@ -88,7 +88,7 @@ public class UtilNamespaceHandler extends NamespaceHandlerSupport { parserContext.getReaderContext().error("Attribute 'path' must not be empty", element); return; } - int dotIndex = path.indexOf("."); + int dotIndex = path.indexOf('.'); if (dotIndex == -1) { parserContext.getReaderContext().error( "Attribute 'path' must follow pattern 'beanName.propertyName'", element); diff --git a/spring-core/src/main/java/org/springframework/core/env/SimpleCommandLineArgsParser.java b/spring-core/src/main/java/org/springframework/core/env/SimpleCommandLineArgsParser.java index b7ad3c42d9a..d9e0afb686b 100644 --- a/spring-core/src/main/java/org/springframework/core/env/SimpleCommandLineArgsParser.java +++ b/spring-core/src/main/java/org/springframework/core/env/SimpleCommandLineArgsParser.java @@ -65,8 +65,8 @@ class SimpleCommandLineArgsParser { String optionName; String optionValue = null; if (optionText.contains("=")) { - optionName = optionText.substring(0, optionText.indexOf("=")); - optionValue = optionText.substring(optionText.indexOf("=")+1, optionText.length()); + optionName = optionText.substring(0, optionText.indexOf('=')); + optionValue = optionText.substring(optionText.indexOf('=')+1, optionText.length()); } else { optionName = optionText; diff --git a/spring-core/src/main/java/org/springframework/core/io/support/PathMatchingResourcePatternResolver.java b/spring-core/src/main/java/org/springframework/core/io/support/PathMatchingResourcePatternResolver.java index 1e9b8983d43..1752b241b2f 100644 --- a/spring-core/src/main/java/org/springframework/core/io/support/PathMatchingResourcePatternResolver.java +++ b/spring-core/src/main/java/org/springframework/core/io/support/PathMatchingResourcePatternResolver.java @@ -290,7 +290,7 @@ public class PathMatchingResourcePatternResolver implements ResourcePatternResol // Generally only look for a pattern after a prefix here, // and on Tomcat only after the "*/" separator for its "war:" protocol. int prefixEnd = (locationPattern.startsWith("war:") ? locationPattern.indexOf("*/") + 1 : - locationPattern.indexOf(":") + 1); + locationPattern.indexOf(':') + 1); if (getPathMatcher().isPattern(locationPattern.substring(prefixEnd))) { // a file pattern return findPathMatchingResources(locationPattern); @@ -531,7 +531,7 @@ public class PathMatchingResourcePatternResolver implements ResourcePatternResol * @see #retrieveMatchingFiles */ protected String determineRootDir(String location) { - int prefixEnd = location.indexOf(":") + 1; + int prefixEnd = location.indexOf(':') + 1; int rootDirEnd = location.length(); while (rootDirEnd > prefixEnd && getPathMatcher().isPattern(location.substring(prefixEnd, rootDirEnd))) { rootDirEnd = location.lastIndexOf('/', rootDirEnd - 2) + 1; diff --git a/spring-core/src/main/java/org/springframework/util/StringUtils.java b/spring-core/src/main/java/org/springframework/util/StringUtils.java index 2b0032d97c7..1bc5cc91229 100644 --- a/spring-core/src/main/java/org/springframework/util/StringUtils.java +++ b/spring-core/src/main/java/org/springframework/util/StringUtils.java @@ -638,7 +638,7 @@ public abstract class StringUtils { // first path element. This is necessary to correctly parse paths like // "file:core/../core/io/Resource.class", where the ".." should just // strip the first "core" directory while keeping the "file:" prefix. - int prefixIndex = pathToUse.indexOf(":"); + int prefixIndex = pathToUse.indexOf(':'); String prefix = ""; if (prefixIndex != -1) { prefix = pathToUse.substring(0, prefixIndex + 1); diff --git a/spring-jdbc/src/main/java/org/springframework/jdbc/core/metadata/GenericCallMetaDataProvider.java b/spring-jdbc/src/main/java/org/springframework/jdbc/core/metadata/GenericCallMetaDataProvider.java index cd95ced9291..5cfc325c858 100644 --- a/spring-jdbc/src/main/java/org/springframework/jdbc/core/metadata/GenericCallMetaDataProvider.java +++ b/spring-jdbc/src/main/java/org/springframework/jdbc/core/metadata/GenericCallMetaDataProvider.java @@ -346,7 +346,7 @@ public class GenericCallMetaDataProvider implements CallMetaDataProvider { else if (found.isEmpty()) { if (metaDataProcedureName != null && metaDataProcedureName.contains(".") && !StringUtils.hasText(metaDataCatalogName)) { - String packageName = metaDataProcedureName.substring(0, metaDataProcedureName.indexOf(".")); + String packageName = metaDataProcedureName.substring(0, metaDataProcedureName.indexOf('.')); throw new InvalidDataAccessApiUsageException( "Unable to determine the correct call signature for '" + metaDataProcedureName + "' - package name should be specified separately using '.withCatalogName(\"" + diff --git a/spring-jdbc/src/main/java/org/springframework/jdbc/datasource/init/ScriptUtils.java b/spring-jdbc/src/main/java/org/springframework/jdbc/datasource/init/ScriptUtils.java index cb24237fe5f..b123d9d8c01 100644 --- a/spring-jdbc/src/main/java/org/springframework/jdbc/datasource/init/ScriptUtils.java +++ b/spring-jdbc/src/main/java/org/springframework/jdbc/datasource/init/ScriptUtils.java @@ -210,7 +210,7 @@ public abstract class ScriptUtils { } else if (script.startsWith(commentPrefix, i)) { // Skip over any content from the start of the comment to the EOL - int indexOfNextNewline = script.indexOf("\n", i); + int indexOfNextNewline = script.indexOf('\n', i); if (indexOfNextNewline > i) { i = indexOfNextNewline; continue; 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 ddd7bb1c54b..b34d21086b7 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 @@ -260,7 +260,7 @@ public class StompDecoder { private String unescape(String inString) { StringBuilder sb = new StringBuilder(inString.length()); int pos = 0; // position in the old string - int index = inString.indexOf("\\"); + int index = inString.indexOf('\\'); while (index >= 0) { sb.append(inString.substring(pos, index)); @@ -285,7 +285,7 @@ public class StompDecoder { throw new StompConversionException("Illegal escape sequence at index " + index + ": " + inString); } pos = index + 2; - index = inString.indexOf("\\", pos); + index = inString.indexOf('\\', pos); } sb.append(inString.substring(pos)); diff --git a/spring-tx/src/main/java/org/springframework/transaction/interceptor/MethodMapTransactionAttributeSource.java b/spring-tx/src/main/java/org/springframework/transaction/interceptor/MethodMapTransactionAttributeSource.java index 66dfb28398d..a4aaf3c9702 100644 --- a/spring-tx/src/main/java/org/springframework/transaction/interceptor/MethodMapTransactionAttributeSource.java +++ b/spring-tx/src/main/java/org/springframework/transaction/interceptor/MethodMapTransactionAttributeSource.java @@ -122,7 +122,7 @@ public class MethodMapTransactionAttributeSource */ public void addTransactionalMethod(String name, TransactionAttribute attr) { Assert.notNull(name, "Name must not be null"); - int lastDotIndex = name.lastIndexOf("."); + int lastDotIndex = name.lastIndexOf('.'); if (lastDotIndex == -1) { throw new IllegalArgumentException("'" + name + "' is not a valid method name: format is FQN.methodName"); } diff --git a/spring-web/src/main/java/org/springframework/http/ContentDisposition.java b/spring-web/src/main/java/org/springframework/http/ContentDisposition.java index acbae702dc6..279f6de82d6 100644 --- a/spring-web/src/main/java/org/springframework/http/ContentDisposition.java +++ b/spring-web/src/main/java/org/springframework/http/ContentDisposition.java @@ -276,7 +276,7 @@ public class ContentDisposition { } else if (attribute.equals("filename*") ) { filename = decodeHeaderFieldParam(value); - charset = Charset.forName(value.substring(0, value.indexOf("'"))); + charset = Charset.forName(value.substring(0, value.indexOf('\''))); Assert.isTrue(UTF_8.equals(charset) || ISO_8859_1.equals(charset), "Charset should be UTF-8 or ISO-8859-1"); } @@ -362,8 +362,8 @@ public class ContentDisposition { */ private static String decodeHeaderFieldParam(String input) { Assert.notNull(input, "Input String should not be null"); - int firstQuoteIndex = input.indexOf("'"); - int secondQuoteIndex = input.indexOf("'", firstQuoteIndex + 1); + int firstQuoteIndex = input.indexOf('\''); + int secondQuoteIndex = input.indexOf('\'', firstQuoteIndex + 1); // US_ASCII if (firstQuoteIndex == -1 || secondQuoteIndex == -1) { return input; diff --git a/spring-web/src/main/java/org/springframework/http/HttpHeaders.java b/spring-web/src/main/java/org/springframework/http/HttpHeaders.java index c2132ba38e6..ff4642a52a6 100644 --- a/spring-web/src/main/java/org/springframework/http/HttpHeaders.java +++ b/spring-web/src/main/java/org/springframework/http/HttpHeaders.java @@ -1277,7 +1277,7 @@ public class HttpHeaders implements MultiValueMap, Serializable // Let's only bother with DateTimeFormatter parsing for long enough values. // See https://stackoverflow.com/questions/12626699/if-modified-since-http-header-passed-by-ie9-includes-length - int parametersIndex = headerValue.indexOf(";"); + int parametersIndex = headerValue.indexOf(';'); if (parametersIndex != -1) { headerValue = headerValue.substring(0, parametersIndex); } diff --git a/spring-web/src/main/java/org/springframework/http/server/DefaultPathContainer.java b/spring-web/src/main/java/org/springframework/http/server/DefaultPathContainer.java index 6e945855237..5a715d1fb1f 100644 --- a/spring-web/src/main/java/org/springframework/http/server/DefaultPathContainer.java +++ b/spring-web/src/main/java/org/springframework/http/server/DefaultPathContainer.java @@ -151,7 +151,7 @@ class DefaultPathContainer implements PathContainer { private static void parsePathParamValues(String input, Charset charset, MultiValueMap output) { if (StringUtils.hasText(input)) { - int index = input.indexOf("="); + int index = input.indexOf('='); if (index != -1) { String name = input.substring(0, index); String value = input.substring(index + 1); diff --git a/spring-web/src/main/java/org/springframework/web/multipart/commons/CommonsMultipartFile.java b/spring-web/src/main/java/org/springframework/web/multipart/commons/CommonsMultipartFile.java index 3d0b3f538fc..84d4a05ef22 100644 --- a/spring-web/src/main/java/org/springframework/web/multipart/commons/CommonsMultipartFile.java +++ b/spring-web/src/main/java/org/springframework/web/multipart/commons/CommonsMultipartFile.java @@ -101,9 +101,9 @@ public class CommonsMultipartFile implements MultipartFile, Serializable { } // Check for Unix-style path - int unixSep = filename.lastIndexOf("/"); + int unixSep = filename.lastIndexOf('/'); // Check for Windows-style path - int winSep = filename.lastIndexOf("\\"); + int winSep = filename.lastIndexOf('\\'); // Cut off at latest possible point int pos = (winSep > unixSep ? winSep : unixSep); if (pos != -1) { diff --git a/spring-web/src/main/java/org/springframework/web/util/UriComponentsBuilder.java b/spring-web/src/main/java/org/springframework/web/util/UriComponentsBuilder.java index 60052e7d474..1990d1e0e93 100644 --- a/spring-web/src/main/java/org/springframework/web/util/UriComponentsBuilder.java +++ b/spring-web/src/main/java/org/springframework/web/util/UriComponentsBuilder.java @@ -769,8 +769,8 @@ public class UriComponentsBuilder implements UriBuilder, Cloneable { } private void adaptForwardedHost(String hostToUse) { - int portSeparatorIdx = hostToUse.lastIndexOf(":"); - if (portSeparatorIdx > hostToUse.lastIndexOf("]")) { + int portSeparatorIdx = hostToUse.lastIndexOf(':'); + if (portSeparatorIdx > hostToUse.lastIndexOf(']')) { host(hostToUse.substring(0, portSeparatorIdx)); port(Integer.parseInt(hostToUse.substring(portSeparatorIdx + 1))); } diff --git a/spring-webflux/src/main/java/org/springframework/web/reactive/resource/AppCacheManifestTransformer.java b/spring-webflux/src/main/java/org/springframework/web/reactive/resource/AppCacheManifestTransformer.java index d7e017b089c..ac0b6c00abb 100644 --- a/spring-webflux/src/main/java/org/springframework/web/reactive/resource/AppCacheManifestTransformer.java +++ b/spring-webflux/src/main/java/org/springframework/web/reactive/resource/AppCacheManifestTransformer.java @@ -238,7 +238,7 @@ public class AppCacheManifestTransformer extends ResourceTransformerSupport { } private static boolean hasScheme(String line) { - int index = line.indexOf(":"); + int index = line.indexOf(':'); return (line.startsWith("//") || (index > 0 && !line.substring(0, index).contains("/"))); } diff --git a/spring-webflux/src/main/java/org/springframework/web/reactive/resource/CssLinkResourceTransformer.java b/spring-webflux/src/main/java/org/springframework/web/reactive/resource/CssLinkResourceTransformer.java index ee656a70f69..63fdc2dfd9e 100644 --- a/spring-webflux/src/main/java/org/springframework/web/reactive/resource/CssLinkResourceTransformer.java +++ b/spring-webflux/src/main/java/org/springframework/web/reactive/resource/CssLinkResourceTransformer.java @@ -151,7 +151,7 @@ public class CssLinkResourceTransformer extends ResourceTransformerSupport { } private boolean hasScheme(String link) { - int schemeIndex = link.indexOf(":"); + int schemeIndex = link.indexOf(':'); return (schemeIndex > 0 && !link.substring(0, schemeIndex).contains("/")) || link.indexOf("//") == 0; } diff --git a/spring-webflux/src/main/java/org/springframework/web/reactive/resource/ResourceUrlProvider.java b/spring-webflux/src/main/java/org/springframework/web/reactive/resource/ResourceUrlProvider.java index 6a36af764c3..e2f635cc4ca 100644 --- a/spring-webflux/src/main/java/org/springframework/web/reactive/resource/ResourceUrlProvider.java +++ b/spring-webflux/src/main/java/org/springframework/web/reactive/resource/ResourceUrlProvider.java @@ -151,11 +151,11 @@ public class ResourceUrlProvider implements ApplicationListener 0) { suffixIndex = queryIndex; } - int hashIndex = path.indexOf("#"); + int hashIndex = path.indexOf('#'); if (hashIndex > 0) { suffixIndex = Math.min(suffixIndex, hashIndex); } diff --git a/spring-webflux/src/main/java/org/springframework/web/reactive/resource/WebJarsResourceResolver.java b/spring-webflux/src/main/java/org/springframework/web/reactive/resource/WebJarsResourceResolver.java index 2e22c9d096d..178ea1ab810 100644 --- a/spring-webflux/src/main/java/org/springframework/web/reactive/resource/WebJarsResourceResolver.java +++ b/spring-webflux/src/main/java/org/springframework/web/reactive/resource/WebJarsResourceResolver.java @@ -107,7 +107,7 @@ public class WebJarsResourceResolver extends AbstractResourceResolver { protected String findWebJarResourcePath(String path) { try { int startOffset = (path.startsWith("/") ? 1 : 0); - int endOffset = path.indexOf("/", 1); + int endOffset = path.indexOf('/', 1); if (endOffset != -1) { String webjar = path.substring(startOffset, endOffset); String partialPath = path.substring(endOffset); 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 5ea0176ca63..bcd8f75ed05 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 @@ -268,7 +268,7 @@ public class RedirectView extends AbstractUrlBasedView { return new StringBuilder(targetUrl); } - int index = targetUrl.indexOf("#"); + int index = targetUrl.indexOf('#'); String fragment = (index > -1 ? targetUrl.substring(index) : null); StringBuilder result = new StringBuilder(); diff --git a/spring-webmvc/src/main/java/org/springframework/web/servlet/mvc/UrlFilenameViewController.java b/spring-webmvc/src/main/java/org/springframework/web/servlet/mvc/UrlFilenameViewController.java index d619ed2feaa..a7969a4e019 100644 --- a/spring-webmvc/src/main/java/org/springframework/web/servlet/mvc/UrlFilenameViewController.java +++ b/spring-webmvc/src/main/java/org/springframework/web/servlet/mvc/UrlFilenameViewController.java @@ -140,7 +140,7 @@ public class UrlFilenameViewController extends AbstractUrlViewController { */ protected String extractViewNameFromUrlPath(String uri) { int start = (uri.charAt(0) == '/' ? 1 : 0); - int lastIndex = uri.lastIndexOf("."); + int lastIndex = uri.lastIndexOf('.'); int end = (lastIndex < 0 ? uri.length() : lastIndex); return uri.substring(start, end); } diff --git a/spring-webmvc/src/main/java/org/springframework/web/servlet/resource/AppCacheManifestTransformer.java b/spring-webmvc/src/main/java/org/springframework/web/servlet/resource/AppCacheManifestTransformer.java index f14a350d8e1..ce45ccac557 100644 --- a/spring-webmvc/src/main/java/org/springframework/web/servlet/resource/AppCacheManifestTransformer.java +++ b/spring-webmvc/src/main/java/org/springframework/web/servlet/resource/AppCacheManifestTransformer.java @@ -195,7 +195,7 @@ public class AppCacheManifestTransformer extends ResourceTransformerSupport { } private static boolean hasScheme(String line) { - int index = line.indexOf(":"); + int index = line.indexOf(':'); return (line.startsWith("//") || (index > 0 && !line.substring(0, index).contains("/"))); } diff --git a/spring-webmvc/src/main/java/org/springframework/web/servlet/resource/CssLinkResourceTransformer.java b/spring-webmvc/src/main/java/org/springframework/web/servlet/resource/CssLinkResourceTransformer.java index fcfc6ca76c9..e9ec79ef2f9 100644 --- a/spring-webmvc/src/main/java/org/springframework/web/servlet/resource/CssLinkResourceTransformer.java +++ b/spring-webmvc/src/main/java/org/springframework/web/servlet/resource/CssLinkResourceTransformer.java @@ -120,7 +120,7 @@ public class CssLinkResourceTransformer extends ResourceTransformerSupport { } private boolean hasScheme(String link) { - int schemeIndex = link.indexOf(":"); + int schemeIndex = link.indexOf(':'); return (schemeIndex > 0 && !link.substring(0, schemeIndex).contains("/")) || link.indexOf("//") == 0; } diff --git a/spring-webmvc/src/main/java/org/springframework/web/servlet/resource/ResourceHttpRequestHandler.java b/spring-webmvc/src/main/java/org/springframework/web/servlet/resource/ResourceHttpRequestHandler.java index 6bd08483420..43f19c54996 100644 --- a/spring-webmvc/src/main/java/org/springframework/web/servlet/resource/ResourceHttpRequestHandler.java +++ b/spring-webmvc/src/main/java/org/springframework/web/servlet/resource/ResourceHttpRequestHandler.java @@ -355,7 +355,7 @@ public class ResourceHttpRequestHandler extends WebContentGenerator Charset charset = null; location = location.trim(); if (location.startsWith(URL_RESOURCE_CHARSET_PREFIX)) { - int endIndex = location.indexOf("]", URL_RESOURCE_CHARSET_PREFIX.length()); + int endIndex = location.indexOf(']', URL_RESOURCE_CHARSET_PREFIX.length()); if (endIndex == -1) { throw new IllegalArgumentException("Invalid charset syntax in location: " + location); } diff --git a/spring-webmvc/src/main/java/org/springframework/web/servlet/resource/ResourceUrlEncodingFilter.java b/spring-webmvc/src/main/java/org/springframework/web/servlet/resource/ResourceUrlEncodingFilter.java index 4673b0908af..f00b39e9460 100644 --- a/spring-webmvc/src/main/java/org/springframework/web/servlet/resource/ResourceUrlEncodingFilter.java +++ b/spring-webmvc/src/main/java/org/springframework/web/servlet/resource/ResourceUrlEncodingFilter.java @@ -123,7 +123,7 @@ public class ResourceUrlEncodingFilter extends GenericFilterBean { } private int getQueryParamsIndex(String url) { - int index = url.indexOf("?"); + int index = url.indexOf('?'); return (index > 0 ? index : url.length()); } } diff --git a/spring-webmvc/src/main/java/org/springframework/web/servlet/resource/ResourceUrlProvider.java b/spring-webmvc/src/main/java/org/springframework/web/servlet/resource/ResourceUrlProvider.java index a018418c017..4b03b7a93d3 100644 --- a/spring-webmvc/src/main/java/org/springframework/web/servlet/resource/ResourceUrlProvider.java +++ b/spring-webmvc/src/main/java/org/springframework/web/servlet/resource/ResourceUrlProvider.java @@ -193,11 +193,11 @@ public class ResourceUrlProvider implements ApplicationListener 0) { suffixIndex = queryIndex; } - int hashIndex = lookupPath.indexOf("#"); + int hashIndex = lookupPath.indexOf('#'); if(hashIndex > 0) { suffixIndex = Math.min(suffixIndex, hashIndex); } diff --git a/spring-webmvc/src/main/java/org/springframework/web/servlet/resource/WebJarsResourceResolver.java b/spring-webmvc/src/main/java/org/springframework/web/servlet/resource/WebJarsResourceResolver.java index fa09565f3f8..fea5933e3ba 100644 --- a/spring-webmvc/src/main/java/org/springframework/web/servlet/resource/WebJarsResourceResolver.java +++ b/spring-webmvc/src/main/java/org/springframework/web/servlet/resource/WebJarsResourceResolver.java @@ -101,7 +101,7 @@ public class WebJarsResourceResolver extends AbstractResourceResolver { @Nullable protected String findWebJarResourcePath(String path) { int startOffset = (path.startsWith("/") ? 1 : 0); - int endOffset = path.indexOf("/", 1); + int endOffset = path.indexOf('/', 1); if (endOffset != -1) { String webjar = path.substring(startOffset, endOffset); String partialPath = path.substring(endOffset + 1); diff --git a/spring-webmvc/src/main/java/org/springframework/web/servlet/view/AbstractView.java b/spring-webmvc/src/main/java/org/springframework/web/servlet/view/AbstractView.java index 595afaafeea..c39783726f8 100644 --- a/spring-webmvc/src/main/java/org/springframework/web/servlet/view/AbstractView.java +++ b/spring-webmvc/src/main/java/org/springframework/web/servlet/view/AbstractView.java @@ -136,7 +136,7 @@ public abstract class AbstractView extends WebApplicationObjectSupport implement StringTokenizer st = new StringTokenizer(propString, ","); while (st.hasMoreTokens()) { String tok = st.nextToken(); - int eqIdx = tok.indexOf("="); + int eqIdx = tok.indexOf('='); if (eqIdx == -1) { throw new IllegalArgumentException("Expected = in attributes CSV string '" + propString + "'"); }