On Fri, 27 Aug 2021 17:52:19 GMT, Andrey Turbanov <github.com+741251+turban...@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 > ![изображение](https://user-images.githubusercontent.com/741251/131168809-480c05d6-2775-4812-91f5-c73833f9a396.png) 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