<i18n dev> RFR: 8271603: Unnecessary Vector usage in java.desktop [v4]
Sergey Bylokhov
serb at openjdk.java.net
Fri Aug 27 18:32:28 UTC 2021
On Fri, 27 Aug 2021 17:52:19 GMT, Andrey Turbanov <github.com+741251+turbanoff at openjdk.org> wrote:
>> src/java.desktop/share/classes/javax/swing/JMenu.java line 1340:
>>
>>> 1338: }
>>> 1339: MenuElement[] me = new MenuElement[elements.size()];
>>> 1340: elements.toArray(me);
>>
>> Implementation of the "toArray([])" is not equivalent of "copyInto([])". Maybe no-arg "return elements.toArray()" will look better. Same comment about other removed usage of copyInto
>
> Can you please elaborate?
> As I can see if size of array is exactly the same as size of vector/arraylist, implementations are similar - they just call System.arraycopy
> 
To confirm this you need to do the same check on every usage of added toArray([]), the simpler version like "return toArray()" or return toArray(new MenuElement[elements.size()]) is simpler, no need to check something. I guess in some previouse fixes it was confirmed that the "return toArray(new MenuElement[0])" is even faster.
-------------
PR: https://git.openjdk.java.net/jdk/pull/4680
More information about the i18n-dev
mailing list