RFR: 8301120: Cleanup utility classes java.util.Arrays and java.util.Collections [v2]

Stuart Marks smarks at openjdk.org
Fri Jan 27 00:22:17 UTC 2023


On Wed, 25 Jan 2023 22:23:26 GMT, Tagir F. Valeev <tvaleev at openjdk.org> wrote:

>> number of minor cleanups could be done in Arrays and Collections utility classes.
>> In Arrays:
>> - Redundant import jdk.internal.misc.Unsafe;
>> - C-style array declaration is used in public static boolean equals(short[] a, short a2[]) (that's the only place in the whole file)
>> 
>> In Collections:
>> - A few obsolete "unchecked" and "rawtypes" suppressions
>> - Unnecessary local variable initializer in get() method
>> - Raw type can be avoided in a number of casts
>> - Explicit type parameters could be omitted or converted to diamonds
>> - A couple of javadoc links on private APIs are malformed
>
> Tagir F. Valeev has updated the pull request incrementally with one additional commit since the last revision:
> 
>   Revert cast removal

src/java.base/share/classes/java/util/Collections.java line 1068:

> 1066: 
> 1067:         public Iterator<E> iterator() {
> 1068:             return new Iterator<>() {

Interesting, this whole family of changes is now possible because the original version of diamond didn't allow it to be used in the context of an anonymous inner class, because of non-denotability of types or some such. That restriction has been relaxed, but we never went back to fix these up.

I also note think that Martin objected to this sort of change in java.util.concurrent, but I'm OK with it here.

-------------

PR: https://git.openjdk.org/jdk/pull/12207


More information about the core-libs-dev mailing list