I suppose String::formattedLocalized(Locale lc, Object... args) would also be reasonable.
> On May 21, 2019, at 12:56 PM, Jim Laskey <[email protected]> wrote: > > Good point. To make sure I fully understand what you are stating, > > - The argument for having an instance method is reasonable to achieve > "flowiness". > - However, only one version is necessary or desired, that is, "public String > formatted(Object... args)". > - In cases where Locale needs to be overridden, then either use > "String.format(Locale lc, String fmt, Object... args)" or globally set > "Locale.setDefault(Locale lc)". > > Correct? > > -- Jim > > > > >> On May 21, 2019, at 12:44 PM, Florian Weimer <[email protected]> wrote: >> >> * Jim Laskey: >> >>> All discussion is valid. I agree the ambiguity is tricky, but can be >>> resolved by using explicit locale. >>> >>> Example: >>> >>> "%s".formatted(Locale.getDefault(), Locale.JAPAN); >>> >>> This guarantees the "public String formatted(Locale l, >>> Object... args)" form is chosen with the second Locale as an argument. >> >> There is also the cognitive overhead. I think the key question is >> whether this is so bad: >> >> String.format(Locale.US, """ >> %s >> """, Locale.JAPAN); >> >> Then perhaps we wouldn't need the formatted method which takes a Locale >> object. >> >> Thanks, >> Florian >
