From 9fbf5dc945688f879c6b3d112b631f54447eae03 Mon Sep 17 00:00:00 2001 From: Sam Brannen Date: Tue, 15 Mar 2022 17:03:20 +0100 Subject: [PATCH] Use String#lastIndexOf(int) where possible --- .../beans/factory/support/RootBeanDefinition.java | 4 ++-- .../java/org/springframework/util/StringUtils.java | 14 ++++++++------ .../tags/form/AbstractHtmlElementTagTests.java | 4 ++-- 3 files changed, 12 insertions(+), 10 deletions(-) diff --git a/spring-beans/src/main/java/org/springframework/beans/factory/support/RootBeanDefinition.java b/spring-beans/src/main/java/org/springframework/beans/factory/support/RootBeanDefinition.java index f93c08f3d54..25e894e8cea 100644 --- a/spring-beans/src/main/java/org/springframework/beans/factory/support/RootBeanDefinition.java +++ b/spring-beans/src/main/java/org/springframework/beans/factory/support/RootBeanDefinition.java @@ -508,7 +508,7 @@ public class RootBeanDefinition extends AbstractBeanDefinition { } if (this.externallyManagedInitMethods != null) { for (String candidate : this.externallyManagedInitMethods) { - int indexOfDot = candidate.lastIndexOf("."); + int indexOfDot = candidate.lastIndexOf('.'); if (indexOfDot >= 0) { String methodName = candidate.substring(indexOfDot + 1); if (methodName.equals(initMethod)) { @@ -585,7 +585,7 @@ public class RootBeanDefinition extends AbstractBeanDefinition { } if (this.externallyManagedDestroyMethods != null) { for (String candidate : this.externallyManagedDestroyMethods) { - int indexOfDot = candidate.lastIndexOf("."); + int indexOfDot = candidate.lastIndexOf('.'); if (indexOfDot >= 0) { String methodName = candidate.substring(indexOfDot + 1); if (methodName.equals(destroyMethod)) { 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 5b5c762408f..fd70a8acea7 100644 --- a/spring-core/src/main/java/org/springframework/util/StringUtils.java +++ b/spring-core/src/main/java/org/springframework/util/StringUtils.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2021 the original author or authors. + * Copyright 2002-2022 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -65,6 +65,8 @@ public abstract class StringUtils { private static final String FOLDER_SEPARATOR = "/"; + private static final char FOLDER_SEPARATOR_CHAR = '/'; + private static final String WINDOWS_FOLDER_SEPARATOR = "\\"; private static final String TOP_PATH = ".."; @@ -581,7 +583,7 @@ public abstract class StringUtils { return null; } - int separatorIndex = path.lastIndexOf(FOLDER_SEPARATOR); + int separatorIndex = path.lastIndexOf(FOLDER_SEPARATOR_CHAR); return (separatorIndex != -1 ? path.substring(separatorIndex + 1) : path); } @@ -602,7 +604,7 @@ public abstract class StringUtils { return null; } - int folderIndex = path.lastIndexOf(FOLDER_SEPARATOR); + int folderIndex = path.lastIndexOf(FOLDER_SEPARATOR_CHAR); if (folderIndex > extIndex) { return null; } @@ -622,7 +624,7 @@ public abstract class StringUtils { return path; } - int folderIndex = path.lastIndexOf(FOLDER_SEPARATOR); + int folderIndex = path.lastIndexOf(FOLDER_SEPARATOR_CHAR); if (folderIndex > extIndex) { return path; } @@ -639,11 +641,11 @@ public abstract class StringUtils { * @return the full file path that results from applying the relative path */ public static String applyRelativePath(String path, String relativePath) { - int separatorIndex = path.lastIndexOf(FOLDER_SEPARATOR); + int separatorIndex = path.lastIndexOf(FOLDER_SEPARATOR_CHAR); if (separatorIndex != -1) { String newPath = path.substring(0, separatorIndex); if (!relativePath.startsWith(FOLDER_SEPARATOR)) { - newPath += FOLDER_SEPARATOR; + newPath += FOLDER_SEPARATOR_CHAR; } return newPath + relativePath; } diff --git a/spring-webmvc/src/test/java/org/springframework/web/servlet/tags/form/AbstractHtmlElementTagTests.java b/spring-webmvc/src/test/java/org/springframework/web/servlet/tags/form/AbstractHtmlElementTagTests.java index ee6f02fa693..15370d2bed1 100644 --- a/spring-webmvc/src/test/java/org/springframework/web/servlet/tags/form/AbstractHtmlElementTagTests.java +++ b/spring-webmvc/src/test/java/org/springframework/web/servlet/tags/form/AbstractHtmlElementTagTests.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2019 the original author or authors. + * Copyright 2002-2022 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -136,7 +136,7 @@ public abstract class AbstractHtmlElementTagTests extends AbstractTagTests { } protected final void assertBlockTagContains(String output, String desiredContents) { - String contents = output.substring(output.indexOf(">") + 1, output.lastIndexOf("<")); + String contents = output.substring(output.indexOf(">") + 1, output.lastIndexOf('<')); assertThat(contents.contains(desiredContents)).as("Expected to find '" + desiredContents + "' in the contents of block tag '" + output + "'").isTrue(); }