On Sat, 11 Jul 2026 22:58:48 GMT, Nir Lisker <[email protected]> wrote:

>> modules/javafx.base/src/main/java/javafx/util/converter/BaseTemporalStringConverter.java
>>  line 42:
>> 
>>> 40: abstract class BaseTemporalStringConverter<T extends Temporal> extends 
>>> BaseStringConverter<T> {
>>> 41: 
>>> 42:     private static final Locale DEFAULT_LOCALE = 
>>> Locale.getDefault(Locale.Category.FORMAT);
>> 
>> Currently, the default format Locale is read every time a converter is 
>> constructed. Caching it in a static final means that a change by an 
>> application to the default Locale after this class has been initialized will 
>> be ignored. If that's unintentional, then it should be fixed. If 
>> intentional, then it should be discussed and documented in the CSR as a 
>> (fairly minor) behavioral change.
>
> I reverted the change. I didn't think the *default* locale would change 
> during the application's life. Does `Chronology` need to change its caching 
> too? There's `Chronology.ofLocale(Locale)` that can adjust to the default 
> locale with
> 
>     private static final Locale defaultLocale() {
>         return Locale.getDefault(Locale.Category.FORMAT);
>     }
> 
>     private static final Chronology defaultChrono() {
>         return Chronology.ofLocale(defaultLocale());
>     }

`Locale.setDefault()`

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

PR Review Comment: https://git.openjdk.org/jfx/pull/1880#discussion_r3572233475

Reply via email to