Hi,

String::replace(CharSequence, CharSequence) does not use a regex, but
String::replace(char, char) can still be slightly more efficient,

As this is relatively new code that wasn't around when 8044461 was done
I'm sure we can get it cleaned up.

Thanks!

/Claes

On 2017-01-24 20:33, Christoph Dreis wrote:
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.dr...@freenet.de>
christoph.dr...@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();

Reply via email to