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();