RFR: 8349860: Make Class.isArray(), Class.isInterface() and Class.isPrimitive() non-native [v3]

Chen Liang liach at openjdk.org
Thu Feb 20 04:31:55 UTC 2025


On Thu, 20 Feb 2025 02:50:17 GMT, David Holmes <dholmes at openjdk.org> wrote:

>> Coleen Phillimore has updated the pull request incrementally with one additional commit since the last revision:
>> 
>>   Rename isPrimitiveType field to primitive.
>
> src/java.base/share/classes/java/lang/Class.java line 1297:
> 
>> 1295:     // The componentType field's null value is the sole indication that the class is an array,
>> 1296:     // see isArray().
>> 1297:     private transient final Class<?> componentType;
> 
> Why the `transient` and how does this impact serialization??

The fields in `Class` are just inconsistently transient or not. `Class` has special treatment in the serialization specification, so the presence or absence of the `transient` modifier has no effect.

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

PR Review Comment: https://git.openjdk.org/jdk/pull/23572#discussion_r1962841415


More information about the core-libs-dev mailing list