Hey Vitaly,

> Seems like a good idea.  You probably want to null check 'replacement' before 
> the bail out as the method is specified as throwing NPE in that case.

Thanks for your feedback. See the adjusted patch below.

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

diff --git a/src/java.base/share/classes/java/lang/String.java 
b/src/java.base/share/classes/java/lang/String.java
--- a/src/java.base/share/classes/java/lang/String.java
+++ b/src/java.base/share/classes/java/lang/String.java
@@ -2176,12 +2176,13 @@
      * @since 1.5
      */
     public String replace(CharSequence target, CharSequence replacement) {
+        Objects.requireNonNull(replacement);
         String tgtStr = target.toString();
-        String replStr = replacement.toString();
         int j = indexOf(tgtStr);
         if (j < 0) {
             return this;
         }
+        String replStr = replacement.toString();
         int tgtLen = tgtStr.length();
         int tgtLen1 = Math.max(tgtLen, 1);
         int thisLen = length();

Reply via email to