On Mon, 26 Apr 2021 08:45:52 GMT, Alan Bateman <[email protected]> wrote:
>> @AlanBateman if DL is not responding, will it be ok to just revert the
>> changes related to `java.util.concurrent`?
>
> That should be fine, the null check in Objects.equals is benign with these
> usages.
One more thing I'm thinking about (not to be done in this PR of course) is to
move call to `String.intern()` from where it is now in `Class.getPackageName()`
public String getPackageName() {
String pn = this.packageName;
if (pn == null) {
Class<?> c = this;
while (c.isArray()) {
c = c.getComponentType();
}
if (c.isPrimitive()) {
pn = "java.lang";
} else {
String cn = c.getName();
int dot = cn.lastIndexOf('.');
pn = (dot != -1) ? cn.substring(0, dot).intern() : ""; // <---
}
this.packageName = pn;
}
return pn;
}
to `packageName` field assignement like
this.packageName = pn.intern();
this would add two more Strings (`""` and `"java.lang"`) into string table and
allow to avoid `String.equals()` in favour of `==` call when comparing package
names. What do you think?
-------------
PR: https://git.openjdk.java.net/jdk/pull/3571