These patches are obviously minimally correct. However, for equals
methods at least, I would take them one step further, from:
if (!(o instanceof Key that)) return false;
//noinspection StringEquality (guaranteed interned String(s))
return name == that.name &&
Arrays.equals(ptypes, that.ptypes);
to
return (o instanceof Key that)
&& name == that.name
&& Arrays.equals(ptypes, that.ptypes);
The use of "if it's not, return false" is a holdover from when we
couldn't express this as a single expression (which is almost always
preferable), which means we had to fall back to control flow. Now we
don't have to.
On 3/10/2021 8:04 AM, Patrick Concannon wrote:
Hi,
Could someone please review my code for updating the code in the `java.lang`
package to make use of the `instanceof` pattern variable?
Kind regards,
Patrick
-------------
Commit messages:
- 8263358: Update java.lang to use instanceof pattern variable
Changes: https://git.openjdk.java.net/jdk/pull/2913/files
Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=2913&range=00
Issue: https://bugs.openjdk.java.net/browse/JDK-8263358
Stats: 62 lines in 18 files changed: 0 ins; 31 del; 31 mod
Patch: https://git.openjdk.java.net/jdk/pull/2913.diff
Fetch: git fetch https://git.openjdk.java.net/jdk pull/2913/head:pull/2913
PR: https://git.openjdk.java.net/jdk/pull/2913