Cleanup String.replace() occurences with single characters

Christoph Dreis christoph.dreis at freenet.de
Tue Jan 24 19:33:27 UTC 2017


Hey,

 

similar to https://bugs.openjdk.java.net/browse/JDK-8044461 I noticed two
(newly introduced) places where we could avoid the regex overhead

when replacing single chars.

 

I'd be happy if this is sponsored.

 

Cheers,

Christoph

 

=========== PATCH ============

# User Christoph Dreis < <mailto:christoph.dreis at freenet.de>
christoph.dreis at freenet.de>

Cleanup String.replace() occurences with single characters

 

diff --git
a/src/java.base/share/classes/jdk/internal/loader/ResourceHelper.java
b/src/java.base/share/classes/jdk/internal/loader/ResourceHelper.java

--- a/src/java.base/share/classes/jdk/internal/loader/ResourceHelper.java

+++ b/src/java.base/share/classes/jdk/internal/loader/ResourceHelper.java

@@ -39,7 +39,7 @@

     public static String getPackageName(String name) {

         int index = name.lastIndexOf('/');

         if (index != -1) {

-            return name.substring(0, index).replace("/", ".");

+            return name.substring(0, index).replace('/', '.');

         } else {

             return "";

         }

diff --git a/src/java.base/share/classes/jdk/internal/module/ModulePath.java
b/src/java.base/share/classes/jdk/internal/module/ModulePath.java

--- a/src/java.base/share/classes/jdk/internal/module/ModulePath.java

+++ b/src/java.base/share/classes/jdk/internal/module/ModulePath.java

@@ -495,7 +495,7 @@

             Attributes attrs = man.getMainAttributes();

             String mainClass = attrs.getValue(Attributes.Name.MAIN_CLASS);

             if (mainClass != null)

-                builder.mainClass(mainClass.replace("/", "."));

+                builder.mainClass(mainClass.replace('/', '.'));

         }

 

         return builder.build();



More information about the core-libs-dev mailing list