On Mon, 30 Jan 2023 07:11:57 GMT, Sergey Tsypanov <[email protected]> wrote:
>> This PR proposes introducing a new method to Locale which returns
>> Stream<Locale>
>>
>> It involves adding an additional method to _LocaleServiceProviderPool_ that
>> returns Stream, which _Locale_ can call.
>>
>> `LocaleServiceProviderPool.streamAllAvaliableLocales()` does not need a
>> defensive copy of `AllAvailableLocales.allAvailableLocales` unlike
>> `LocaleServiceProviderPool.getAllAvaliableLocales()` as the array is hidden
>> by the Stream.
>
> src/java.base/share/classes/sun/util/locale/provider/LocaleServiceProviderPool.java
> line 160:
>
>> 158: */
>> 159: public static Stream<Locale> streamAvailableLocales() {
>> 160: return AllAvailableLocales.AvailableLocalesSet.stream();
>
> I think we could use `Stream.of(AllAvailableLocales.availableLocalesArray)`
> here and drop set field.
Yes you're right, I had misinterpreted the original bug description. Set is not
required, and in fact the array should be streamed directly as you said.
-------------
PR: https://git.openjdk.org/jdk/pull/12269