<i18n dev> RFR: 8246788: ZoneRules invariants can be broken

Florent Guillaume github.com+592810+efge at openjdk.java.net
Fri Jan 22 17:09:48 UTC 2021


On Fri, 22 Jan 2021 14:48:00 GMT, Daniel Fuchs <dfuchs at openjdk.org> wrote:

>> Tighten up argument checking in constructor.
>
> src/java.base/share/classes/java/time/zone/ZoneRules.java line 263:
> 
>> 261:         // last rules
>> 262:         Object[] temp = lastRules.toArray();
>> 263:         ZoneOffsetTransitionRule[] rulesArray = Arrays.copyOf(temp, temp.length, ZoneOffsetTransitionRule[].class);
> 
> LGTM. Could be replaced by:
> 
> ZoneOffsetTransitionRule[] rulesArray = (ZoneOffsetTransitionRule[])lastRules.toArray(new ZoneOffsetTransitionRule[0]).clone();
> 
> if you wanted - but what you currently have is good for me.

Or even maybe `rulesArray = lastRules.toArray(ZoneOffsetTransitionRule[]::new);`?

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

PR: https://git.openjdk.java.net/jdk/pull/2191


More information about the i18n-dev mailing list