JDK 13 RFR of JDK-8220346: Refactor java.lang.Throwable to use Objects.requireNonNull
Tagir Valeev
amaembo at gmail.com
Fri Mar 8 11:56:23 UTC 2019
Hello!
> diff -r 274361bd6915 src/java.base/share/classes/java/lang/Throwable.java
> --- a/src/java.base/share/classes/java/lang/Throwable.java Thu Mar 07
> 10:22:19 2019 +0100
> +++ b/src/java.base/share/classes/java/lang/Throwable.java Fri Mar 08
> 02:06:42 2019 -0800
> @@ -874,8 +874,7 @@
> // Validate argument
> StackTraceElement[] defensiveCopy = stackTrace.clone();
> for (int i = 0; i < defensiveCopy.length; i++) {
> - if (defensiveCopy[i] == null)
> - throw new NullPointerException("stackTrace[" + i + "]");
> + Objects.requireNonNull(defensiveCopy[i], "stackTrace[" + i
> + "]");
Won't it produce unnecessary garbage due to string concatenation on
the common case when all frames are non-null?
With best regards,
Tagir Valeev.
More information about the core-libs-dev
mailing list