RFR: 8283063: Optimize Observable{List/Set/Map}Wrapper.retainAll/removeAll [v4]
Michael Strauß
mstrauss at openjdk.org
Sun Apr 2 23:32:27 UTC 2023
On Sat, 1 Apr 2023 23:28:51 GMT, Nir Lisker <nlisker at openjdk.org> wrote:
>> Michael Strauß has updated the pull request incrementally with one additional commit since the last revision:
>>
>> addressed review comments, added tests
>
> modules/javafx.base/src/main/java/com/sun/javafx/collections/ObservableSequentialListWrapper.java line 178:
>
>> 176: @Override
>> 177: public boolean addAll(int index, Collection<? extends E> c) {
>> 178: if (index < 0 || index > size()) {
>
> If you want, there are methods in `Objects` that do range checks, like `Objects.checkIndex`.
>
> Same for the other files.
In order to use `Objects.checkIndex` here, I would have to call it like this: `Objects.checkIndex(index, size() + 1)`.
`size() + 1` is necessary because it is valid to call this method with an `index` equal to the size of the list.
However, the exception message that would be produced for an out-of-bounds index would be incorrect, for example when adding elements at index 20 to a list that already contains 10 elements: "Index 20 out of bounds for length 11". Obviously, a list of 10 elements doesn't have a length of 11.
-------------
PR Review Comment: https://git.openjdk.org/jfx/pull/751#discussion_r1155392501
More information about the openjfx-dev
mailing list