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
