Optimize StringUtils.cleanPath
Add an early exit to `StringUtils.cleanPath` to save array creating and string concatenation. With a typical Spring application, the `cleanPath` method can be called over 600 times, often with a path constructed by a `ClassPathResource` that is likely to already be clean. Closes gh-22568
This commit is contained in:
parent
19fb697d03
commit
a57d6ba5f3
|
|
@ -639,6 +639,11 @@ public abstract class StringUtils {
|
||||||
}
|
}
|
||||||
String pathToUse = replace(path, WINDOWS_FOLDER_SEPARATOR, FOLDER_SEPARATOR);
|
String pathToUse = replace(path, WINDOWS_FOLDER_SEPARATOR, FOLDER_SEPARATOR);
|
||||||
|
|
||||||
|
// Shortcut if there is no work to do
|
||||||
|
if (pathToUse.indexOf('.') == -1) {
|
||||||
|
return pathToUse;
|
||||||
|
}
|
||||||
|
|
||||||
// Strip prefix from path to analyze, to not treat it as part of the
|
// Strip prefix from path to analyze, to not treat it as part of the
|
||||||
// first path element. This is necessary to correctly parse paths like
|
// first path element. This is necessary to correctly parse paths like
|
||||||
// "file:core/../core/io/Resource.class", where the ".." should just
|
// "file:core/../core/io/Resource.class", where the ".." should just
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue